java高级day02
IO操作
根据传输的数据类型:字节流 字符流
根据传输的方向分类:输入流 输出流
输入:物理文件传输到应用程序的方向,read
输出:从应用程序传输到物理文件的方向,write
字节流: 输入流 输出流
父类 InputStream outputStream
子类 FileInputStream FileOutputStream
BufferedInputStream BufferedOutputStream
PrintStream
ObjectInputStream ObjectOutputStream
DataInputStream DataOutputStream
适用场景:但凡能够使用记事本打开并阅读的文件,就可以使用字符流。
FileReader 和 FileWriter
BufferedReader和 BufferedWriter
步骤:1、选择读写对象 2、开始读写操作 3、关闭对象
涉及:装饰设计模式
FileWriter:write()写字符,只有调用了flush()才会将内存中的数据实际写入到文件中。也可以通过调用close(),因为close()先flush后close
案例
使用FileInputStream类读取文本文件
需求说明:按照如下的四个步骤,使用FileInputStream类读取文本文件,效果如下图所示。
(1)引入相关的类,java.io.IOException和java.io.FileInputStream;
(2)构造文件输入流FileInputStream 对象,比如为:FileInputStream fis= new FileInputStream("c:\\test.txt");
(3)读取文本文件的数据,fis.available();fis.read();;
(4)关闭文件流对象:fis.close();;
public class Test {
public static void main(String[] args) throws IOException {
FileInputStream fis= new FileInputStream("c:\\test.txt");
int available = fis.available();
System.out.println("可读取的字节数是"+available);
//读取文本文件的数据
byte[] read=new byte[1024];
fis.read(read);
String content = new String(read);
System.out.println("内容是"+content);
//关闭流
fis.close();
}
}