文件处理
Java以流的方式处理输入与输出,即数据流
一、流
从键盘输入数据,写入文件,读取文件都可看做是流的处理,可分为输入流 与 输出流
流中的数据由字符与位组成。
有关文件处理的类
Reader、writer用来处理 字符流 ,也就是纯文本文件
InputStream、OutputStream用来处理 位流 ,也就是二进制文件。
数据处理完后必须用close()方法来关闭流
二、文件的基本处理
读取文件内容------使用FileReader
package com;
import java.io.*;
public class FileTest {
public static void main(String af[]) throws IOException {
char data[] = new char[128];
FileReader fr = new FileReader("D:\\try.txt"); //创建对象
int num = fr.read(data);
String str = new String(data,0,num);
System.out.println(str);
fr.close(); //关闭流
}
}
结果;
hello,world!!!
写文件内容----使用FileWriter
三、利用缓冲区来读写数据
缓冲区处理方式: 在存取时,会先将数据放置在缓冲区,而不会之间在磁盘做存取,不需要不断的做磁盘读取,增加程序执行效率。
缺点:需占用一块内存空间,如果没有关闭文件或死机,会丢失数据。
将数据写入文件
程序--->将数据写入缓冲区--->若缓冲区数据满或文件关闭时,会将数据从缓冲区写入磁盘。
从文件读取数据
磁盘--->若缓冲区没有数据,会将数据从磁盘读至缓冲区--->程序直接从缓冲区读取数据。
文件处理类的继承图
java.lang.object | Reader | BufferReader | |
InputSreamReader | FileReader | ||
Writer | BufferWriter | ||
OutputStreamWriter | FileWriter | ||
InputSream | FileInputSream | ||
OutputStream | FileOutputStream |