Java读、写文件

java.io

Class BufferedReader

All Implemented Interfaces(所有已实现的接口):

Closeable , AutoCloseable , Readable

已知直接子类:

LineNumberReader

公共类BufferedReader

扩展了Reader

public class BufferedReader extends Reader

从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取。

可以指定缓冲区大小,或者可以使用默认大小。 默认值足够大,可用于大多数用途。

通常,由读取器做出的每个读取请求将引起对底层字符或字节流的相应读取请求。 因此,建议将BufferedReader包装在其read()操作可能昂贵的读取器上,例如FileReaders和InputStreamReaders。 例如:

BufferedReader in = new BufferedReader(new FileReader("foo.in"));

在接着我们使用in.readLine()就可以了。

它会一次读取被读取文件的每一行,并且返回这一行形成的String line = in.readLine();//读取文件中矩阵的一行。

使用完成后记得使用in.close()来关闭避免浪费资源

public FileReader(String fileName) throws FileNotFoundException

创建一个新的 FileReader ,给定要读取的文件的名称。

// InputStreamReader 是字节流通向字符流的桥梁

// conf.pocFilePath文件地址

File file = new File(conf.pocFilePath);

InputStream inputStream = new FileInputStream(file);

isr = new InputStreamReader(inputStream);

// 从字符输入流中读取文件中的内容,封装了一个new InputStreamReader的对象

br = new BufferedReader(isr);

while ((str = br.readLine()) != null) {

        str1 += str + "\n"; listStr.add(str);

}

将缓冲指定文件的输入。 没有缓冲,每次调用read()或readLine()可能会导致从文件中读取字节,转换成字符,然后返回,这可能非常低效。

使用DataInputStreams进行文本输入的程序可以通过用适当的BufferedReader替换每个DataInputStream进行本地化。

构造方法摘要

BufferedReader(Reader in)

创建使用默认大小的输入缓冲区的缓冲字符输入流。

BufferedReader(Reader in, int sz)

创建使用指定大小的输入缓冲区的缓冲字符输入流。

 


java.io

Class FileWriter

All Implemented Interfaces:

Closeable , Flushable , Appendable , AutoCloseable

公共类FileWriter

扩展了OutputStreamWriter

用于编写字符文件的便捷类。 该类的构造函数假定默认字符编码和默认字节缓冲区大小是可以接受的。 要自己指定这些值,请在FileOutputStream上构造一个OutputStreamWriter。

文件是否可用或可能被创建取决于底层平台。 特别是某些平台允许一次只能打开一个文件来写入一个FileWriter (或其他文件写入对象)。 在这种情况下,如果所涉及的文件已经打开,则此类中的构造函数将失败。

FileWriter是用于写入字符流。 要编写原始字节流,请考虑使用FileOutputStream 。

构造方法摘要

FileWriter给一个File对象构造一个FileWriter对象。

FileWriter(File file) 

给一个File对象构造一个FileWriter对象。

FileWriter(File file, boolean append)

构造与文件描述符关联的FileWriter对象。

FileWriter(FileDescriptor fd)

构造一个给定文件名的FileWriter对象。

FileWriter(String fileName)

构造一个FileWriter对象,给出一个带有布尔值的文件名,表示是否附加写入的数据。

FileWriter( String fileName, boolean append)

fw = new FileWriter("src/P1/txt/6.txt",true);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值