读
java.io
Class BufferedReader
- java.lang.Object
-
- java.io.Reader
-
- java.io.BufferedReader
All Implemented Interfaces(所有已实现的接口):
Closeable , AutoCloseable , Readable
已知直接子类:
公共类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
- java.lang.Object
-
- java.io.Writer
-
- java.io.OutputStreamWriter
-
- java.io.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对象。
FileWriter(String fileName)
构造一个FileWriter对象,给出一个带有布尔值的文件名,表示是否附加写入的数据。
FileWriter( String fileName, boolean append)
fw = new FileWriter("src/P1/txt/6.txt",true);