java 文件IO

来源:互联网 发布:plc交通灯编程 编辑:程序博客网 时间:2024/06/06 09:09

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

一、概述

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

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


 Byte BasedCharacter Based InputOutputInputOutputBasicInputStreamOutputStreamReader
InputStreamReaderWriter
OutputStreamWriterArraysByteArrayInputStreamByteArrayOutputStreamCharArrayReaderCharArrayWriterFilesFileInputStream
RandomAccessFileFileOutputStream
RandomAccessFileFileReaderFileWriterPipesPipedInputStreamPipedOutputStreamPipedReaderPipedWriterBufferingBufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriterFilteringFilterInputStreamFilterOutputStreamFilterReaderFilterWriterParsingPushbackInputStream
StreamTokenizer PushbackReader
LineNumberReader Strings  StringReaderStringWriterDataDataInputStreamDataOutputStream  Data - Formatted PrintStream PrintWriterObjectsObjectInputStreamObjectOutputStream  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();





0 0