FileInputStream和FileOutputStream这两个类属于结点流,第一个类的源端和第二个类的目的端都是磁盘文件,它们的构造方法允许通过文件的路径名来构造相应的流。如: FileInputStream infile = new FileInputStream("myfile.dat");FileOutputStream outfile = new FileOutputStream("results.dat");
BufferedReader和BufferedWriter这两个类对应的流使用了缓冲,能大大提高输入输出的效率。这两个也是过滤器流,常用来对InputStreamReader和OutputStreamWriter进行处理。如: import java.io.*;public class Echo { public static void main(String[] args) { BufferedReader in = new BufferedReader( new InputStreamReader(System.in));String s; try {while((s = in.readLine()).length() != 0) System.out.println(s); // An empty line terminates the program } catch(IOException e) { e.printStackTrace(); } }}
该程序接受键盘输入并回显。 对BufferedReader类,该类的readLine()方法能一次从流中读入一行,但对于BufferedWriter类,就没有一次写一行的方法,所以若要向流中一次写一行,可用PrintWriter类将原来的流改造成新的打印流,PrintWriter类有一个方法println(),能一次输出一行。如: ............PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("D:\javacode\test.txt")));out.println("Hello World!");out.close();............ 例子: 1,与控制台相关。的读入/写出。 实现了字符串的复制。 import java.io.;public class TextRead{public static void main(String[] args){ BufferedReader bf = null;/*BufferedReader相当于一个大桶,其实就是内存,这里实现了大量大量的读写 ,而不是读一个字节或字符就直接写如硬盘,加强了对硬盘的保护。
try{while(true){ // while(true){}循环保证程序不会结束 bf = new BufferedReader(new InputStreamReader(System.in));System.in 为标准输入,System.out为标准输出