Java 流
首先一张图:
字节流和字符流是有关系的,字符流可以配合编码方式传递给字符流的构造方法,这也是可以理解的,一个字节配合编码才可以成为字符。例如下面的程序
package mio;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class FileStreamTest2 {
public static void main(String[] args) throws IOException {
File fp = new File("a.txt");
/*
* Java中有字节流和字符流两大类,下面的字节流可以通过不同的编码方式封装成为字符流
* FileOutputStream 是字节流,因为OutputStream是字节类,同理带有InputStream
* OutputStreamWriter 是字符流,因为Writer是字符类,同理带有Reader的是字符流
* fop 是FileOutputStream实例,
* writer 是writer实例
* 所以writer在实例化的过程中,需要两个参量,一个是字节流对象,一个是编码方式,才是字符流对象
*/
FileOutputStream fop = new FileOutputStream(fp);
OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
writer.append("中文");
writer.append("\r\n");
writer.append("english");
writer.close();
fop.close();
FileInputStream fip = new FileInputStream(fp);
InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
StringBuffer sb = new StringBuffer();
while(reader.ready()) {
sb.append((char)reader.read());
}
System.out.println(sb.toString());
reader.close();
fip.close();
}
}
Java File类
File类可以用于文件和目录的创建,文件查找和文件删除等等。