InputStream流类包含一套所有字节输入都需要的方法,可以完成最基本的从输入流读入数据的功能。InputStream是抽象类,所以程序中创建的输入流对象一般是InputStream某个子类的对象,通过调用该对象继承的read()方法就可实现对相应外设的输入操作。
OutputStream流类包含一套所有字节输出都需要的方法,可以完成最基本的输出流写入数据的功能。OutputStream是抽象类,所以程序中创建的输出流对象一般是OutputStream某个子类的对象,通过调用该对象继承的write()方法就可以实现对相应外设的输出操作。
文件输入流FileInputStream,文件输出流FileOutputStream.该输入与输出流是InputStream和OutputStream流的直接子类,这两个子类主要是负责完成对本地磁盘文件的顺序输入与输出操作的流。FileInputStream类的对象表示一个文件字节输入流,从中可读取一个或一批字节。在生成其对象时,若指定的文件找不到,则抛出FileNotFoundException异常,该异常必须捕获或声明抛出。FileOutputStream类的对象表示一个文件字节输出流,可向流中写入一个字节或一批字节。在生成FileOutputStream类的对象时,若指定的文件不存在,则创建一个新的文件,若已存在,则清除原文件的内容。在进行文件的读写操作时会产生IOExecption异常,该异常必须捕获或声明抛出。
例:
import java.io.*; class TEXT{ public static void main(String[]args){ char ch; int data; try( FileInputStream fin=new FileInputStream(FileDescriptor.in); FileOutputStream fout=new FileOutputStream("D:\\cgj\\myfile.txt"); ) { System.out.println("请输入一串字符,并以#结束:"); while((ch=(char)fin.read())!='#') fout.write(ch); } catch(FileNotFoundException e){ System.out.println("文件没有找到!"); } catch(IOException e){} try( FileInputStream fin=new FileInputStream("D:\\cgj\\myfile.txt"); FileOutputStream fout=new FileOutputStream(FileDescriptor.out);) { while(fin.available()>0){ data=fin.read(); fout.write(data); } } catch(IOException e){} } }
该代码旨在在程序中创建一个文本文件myfile.txt,从键盘输入一串字符,然后再读取该文件并将文本文件内容显示在屏幕上。
顺序输入流类SequenceInputStream是InputStream的直接子类,其功能是将多个输入流顺序连接在一起,形成单一的输入数据流,没有对应的输出数据流存在。
管道流用来将一个程序或线程的输出连接到另外一个程序或线程作为输入,使得相连线程都能通过PipedInputStream和PipedOutStream流进行数据交换,从而可以实现程序内部线程间的通信或不同程序间的通信。管道输入输出流提供了两种连接方法:第一种是在构造方法中给出对应的管道流,在创造对象是进行连接。方法如下:
(1)PipedInputStream(PipedOutputStream src)
(2) PipedOutputStream(PipedInputStream src)
第二种是利用管道字节输入输出流提供的connect()方法进行连接。
(1)标准输入:System.in
(2)标准输出:System.out
(3)标准错误输出:System.err
使用FileReader类读取文件,FileWriter类写入文件
BufferedReader类读取文件,BufferedWriter类写入文件
import java.io.*; public class TEXT{ public static void main(String[}args) { String str=new String(); try( BufferedReader in=new BufferedReader(new FileReader("d:\\java\\test.txt")); BufferedReader out=new BufferedWriter(new FileWriter("d:\\java\\test1.tst"));) { while((str=in.readLine())!=null) { System.out.println(str); out.write(str); out.newLine(); } out.flush(); } catch(IOException ioe){ System.out.println("错误!"+ioe); } } }
Java语言的输入与输出通过此篇博文加强理解(●’◡’●)