流
Java中,流就是从源到目的地的字节的有序序列。,流式I/O是一种顺序存取方式。
输入流:java从某个数据源(文件,内存等)到程序本身的一个流,从这个流中读取数据,就是输入流。包括字节流InputStream和字符流Reader
输出流:类似地,从java程序本身到外界某个目的地的流,把数据存储在流中,以把程序的数据保存到外界,这就是输出流。包括字节流OutputStream和字符流Writer
(我自己刚开始看的时候总是把Reader和Writer混淆,因为他不像字节流一样,可以直接从单词看出是输入流还是是输出流,希望在这里提醒大家可以引起大家的注意)
文件流
顾名思义,就是对文件系统中的文件进行读写。包括FileInputStream/FileOutputStream和FileReader和FileWriter.下面通过例子来理解一些文件流和一些方法。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyBytes {
public static void main(String[] args) throws IOException {
FileInputStream in=new FileInputStream("F:/words.txt");
FileOutputStream out = new FileOutputStream("F:/words1.txt");
int c;
while((c=in.read())!=-1)
out.write(c);
in.close();
out.close();
}
}
这个代码简单,就是实现文件的读和写。首先通过输入流,将words文件输入到程序本身,再通过输出流将在程序中读到的内容写到文件words1中。其中,read()方法是输入流的一个方法,也很好理解,就是读取内容,返回一个整数型,当返回-1时,表示读取数据完成(读取到了末尾)。运行结果就是实现文件的复制