欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据流:输入流和输出流 --简单介绍

程序员文章站 2022-05-15 17:43:04
...
import java.io.Console;


//--------------------------流的介绍-------------------------

//	 File类
//	1、运行可执行文件
//	       当要执行一个本地机上的可执行文件时,可以使用java.lang包中的Runtime类;
public class Stream {
	Runtime ec;
	public  void runtime(){
		ec = Runtime.getRuntime();  //获取对象
		//		ec.exec(command);  //该方法可以打开本地机的可执行文件或执行一个操作
	}
	
	// InputStream类 与 OutputStream类
	// InputStream 
	//	类提供的read 方法以字节为单位顺序的读取源中的数据,只要不关闭流,每次
	// 调用read方法就顺序地读取源中的其余内容,知道源的末尾或输入流被关闭
	// 常用方法:
	//  int read(); int read(byte b[]); int read(byte[],int off,int len); void close();long skip(long numBytes)
	
	//OutStream 
	//	流以字节为单位顺序地写文件,只要不关闭流,每次调用write方法就顺序的向目的地
	// 写入内容,知道流被关闭;
	// 常用方法:void write(int n)void write(byte b[]); voed write(byte b[],int off,int len); void close();
	
	
	// 文件字节输入流: FileInputStream(String name); FileInputStream(File file);s
	// 文件字节输出流:FileOutputStream(String name); FileOutputStream(File file);
	
	// 文件字符流 :FileReader();FileWriter();
	
	// 缓冲流:BufferedReader BufferedWriter 类创建的对象称为缓冲输入输出流
	// BufferedReader(Reader in);
	// BufferedReader(Writer out);
	
	// 数组流:
	// 字节数组流:字节数组流输入流ByteArrayInputStream和字节数组输出流ByteArrayOutputStream分别
	// 使用字节数组作为流的源和目标;
	
	// 字节数组输入流调用:public int read(); 方法可以顺序地从源中读出一个字节,返回读出的字节值;
	// public int read(byte[] b ,int len);方法可以顺序地从源中读出参数len指定的字节数,并将读出的字节存放到
	// 参数b指定的数组中,参数off指定数组b存放读出字节的起始位置,该方法返回实际读出的字节个数,
	// 如果没有读出字节返回 -1;
	
	// 字节数组输出流调用:
	// public void write(int b); 方法:顺序地向缓冲区写入一个字节;
	// public void write(byte[] b,int off,int len); 可以将参数 b 中指定的len个字节顺序地
	// 写入缓冲区,参数off 指定从b 中写出的字节的起始位置;
	// public byte[] toByteArray(); 返回输出流写入到缓冲区的全部字节
	
	// 数据流:
	// DataInputStream 和 DataOutputStream 类创建的对象称为数据输入流和数据输出流;
	// 这两个流是很有用的两个流,他们允许程序按着机器无关的风格读取java 原始数据;
	// 也就是说,当读取一个数值时,不必在关心这个数值应当时多少个字节;
	// DataInputStream(InputStream in)  ; DataOutputStream(OutputStream out);
	
	//对象流:
	// ObjectInputStream 和 ObjectOutputStream 类分别是InputStream 和OutputStream类的子类
	// 对象输出流使用writeObject(Object obj) 方法将一个对象obj 写入到一个文件,
	// 对象输入流使用readObject() 读取一个对象到程序中;
	
	// 序列化与对象克隆
	// 一个类的对象如果具有相同的引用,那么他们就具有相同的是体和功能;
	// 如果想得到对象的一个复制品,复制品实体的变化不会引起源对象实体发生变化,反之亦然;
	
	// Console 流:用于读取密码	
	public  void console(){
		Console cons = System.console();
		char[] password = cons.readPassword();
		
		for(int i=0;i<password.length;i++){
			System.out.println(password[i]);
		}
	}
	public static void main(String[] args){
		new Stream().console();
	}
}