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