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

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();
	}
}
	
	
	
	

你可能感兴趣的:(java,Stream,数据流)