您的位置:首页 > 编程语言 > Java开发

java 文件IO

2015-08-27 15:06 465 查看
每次需要操作文件的时候,总是一头雾水,不知道到底要用哪个类,怎样用。这里就稍微整理一下,以便后续查阅。

一、概述

文件类File本身不提供文件内容的操作,只提供文件属性的操作,如是否是文件夹,是否可读等等。

文件内容的操作,主要有两种方式,一种是流(字节)操作,另一种是字符操作。下表是文件类的预览表(摘自:http://tutorials.jenkov.com/java-io/overview.html):

Byte BasedCharacter Based
InputOutputInputOutput
BasicInputStreamOutputStreamReader

InputStreamReader
Writer

OutputStreamWriter
ArraysByteArrayInputStreamByteArrayOutputStreamCharArrayReaderCharArrayWriter
FilesFileInputStream

RandomAccessFile
FileOutputStream

RandomAccessFile
FileReaderFileWriter
PipesPipedInputStreamPipedOutputStreamPipedReaderPipedWriter
BufferingBufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter
FilteringFilterInputStreamFilterOutputStreamFilterReaderFilterWriter
ParsingPushbackInputStream

StreamTokenizer
PushbackReader

LineNumberReader
StringsStringReaderStringWriter
DataDataInputStreamDataOutputStream
Data - FormattedPrintStreamPrintWriter
ObjectsObjectInputStreamObjectOutputStream
UtilitiesSequenceInputStream
注:

1、流(字节)操作的基类是InputStream和OutStream, 字符操作的基类是Reader和Writer

2、Buffering的类是为了提高读取效率,一次读取一大块数据,进行缓存。

二、实例代码

1、逐行读取文件内容

BufferedReader reader = new BufferedReader(new FileReader(
"filePath"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
2、写入字符串到文件

OutputStream o = new FileOutputStream(outFile);
OutputStreamWriter w = new OutputStreamWriter(o);
w.write("string");
w.flush();
w.close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: