IO第七回:访问文件的字符流—FileReader/FileWriter
2018-03-14 20:21
429 查看
IO第七回:访问文件的字符流—FileReader/FileWriter
标签: IO流IO第七回访问文件的字符流FileReaderFileWriter
FileReader
构造方法
方法摘要
源码分析
代码演示
FileWriter
构造方法
方法摘要
源码分析
综合演示文件复制
FileReader/FileWriter 用于从文件中读取字符流、将字符流写入文件中。
继承于InputStreamReader和OutputStreamWriter 。
FileReader 是用于读取字符流的类,它继承于InputStreamReader。要读取原始字节流,请考虑使用 FileInputStream。
FileWriter 是用于写入字符流的类,它继承于OutputStreamWriter。要写入原始字节流,请考虑使用 FileOutputStream。
FileReader
public class FileReader extends InputStreamReader
读取字符文件。
该类的构造函数假定默认字符编码和默认字节缓冲区大小是适当的。 要自己指定这些值,请在FileInputStream上构造一个InputStreamReader。
FileReader是用于读取字符流。 要读取原始字节流,请考虑使用FileInputStream 。
构造方法
FileReader(File file)
创建一个新的 FileReader ,给出 File读取。
FileReader(FileDescriptor fd)
创建一个新的 FileReader ,给定 FileDescriptor读取。
FileReader(String fileName)
创建一个新的 FileReader ,给定要读取的文件的名称。
方法摘要
该类没有自己的方法,都是使用父类的方法源码分析
package java.io; public class FileReader extends InputStreamReader { public FileReader(String fileName) throws FileNotFoundException { super(new FileInputStream(fil java io系列21之 InputStreamReader和OutputStreamWritereName)); } public FileReader(File file) throws FileNotFoundException { super(new FileInputStream(file)); } public FileReader(FileDescriptor fd) { super(new FileInputStream(fd)); } }
代码演示
package charIO; import java.io.File; import java.io.FileReader; import java.io.IOException; /** * Created by japson on 8/22/2017. */ public class FileReaderWriter { public static void fileReader() { File file = null; FileReader fileReader = null; try { file = new File("testRead.txt"); fileReader = new FileReader(file); char[] c = new char[8]; int len; while ((len = fileReader.read(c)) != -1) { String str = new String(c,0,len); System.out.print(str); } } catch (IOException e) { e.printStackTrace(); } finally { try { fileReader.close(); } catch (IOException e) { e.printStackTrace(); } } } public static void main(String[] args) { fileReader(); } }
FileWriter
public class FileWriter extends OutputStreamWriter
方便写入字符串。
该类的构造函数假定默认字符编码和默认字节缓冲区大小是可以接受的。 要自己指定这些值,请在FileOutputStream上构造一个OutputStreamWriter。
文件是否可用或可能被创建取决于底层平台。 特别是某些平台允许一次只能打开一个文件来写入一个FileWriter (或其他文件写入对象)。 在这种情况下,如果所涉及的文件已经打开,则此类中的构造函数将失败。
FileWriter是用于写入字符流。 要编写原始字节流,请考虑使用FileOutputStream 。
构造方法
FileWriter(File file)给一个File对象构造一个FileWriter对象。
FileWriter(File file, boolean append)
给一个File对象构造一个FileWriter对象。append 如果是 true ,那么数据将被写入文件的末尾而不是开头。
FileWriter(FileDescriptor fd)
构造与文件描述符关联的FileWriter对象。
FileWriter(String fileName)
构造一个给定文件名的FileWriter对象。
FileWriter(String fileName, boolean append)
给一个File对象构造一个FileWriter对象。 如果第二个参数是true ,则字节将写入文件的末尾而不是开头。
方法摘要
该类没有自己的方法,都是使用父类的方法源码分析
package java.io; public class FileWriter extends OutputStreamWriter { public FileWriter(String fileName) throws IOException { super(new FileOutputStream(fileName)); } public FileWriter(String fileName, boolean append) throws IOException { super(new FileOutputStream(fileName, append)); } public FileWriter(File file) throws IOException { super(new FileOutputStream(file)); } public FileWriter(File file, boolean append) throws IOException { super(new FileOutputStream(file, append)); } public FileWriter(FileDescriptor fd) { super(new FileOutputStream(fd)); } }
综合演示:文件复制
输入流对应的文件一定要存在,输出流对应的文件可以不存在,执行过程中会自动创建。public class FileReaderWriter { public static void fileReaderWriter() { File file = null; FileReader fileReader = null; FileWriter fileWriter = null; try { file = new File("testRead.txt"); fileReader = new FileReader(file); fileWriter = new FileWriter("testWriter.txt"); char[] c = new char[5]; int len; while ((len = fileReader.read(c)) != -1) { fileWriter.write(c,0,len); } } catch (IOException e) { e.printStackTrace(); } finally { try { fileReader.close(); fileWriter.close(); } catch (IOException e) { e.printStackTrace(); } } } public static void main(String[] args) { fileReaderWriter(); } }
字符流只能复制字符。
相关文章推荐
- Java IO 之 FileReader FileWriter 实现字符文件的复制(处理FileWriter新建文件失败的问题)
- IO(FileWriter/FileReader)字符流:文件的写入、续写、读
- 151_IO_字符流_纯文本_节点流_Reader_FileReader_Writer_FileWriter_读取_写出_拷贝
- java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝
- java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝
- 黑马程序员---IO--常用基类字符流抽象类中的中的FileWriter FileReader的使用
- 输入输出流(IO)—文件字符流(FileReader & FileWriter)的基本操作及应用
- JAVA基础初探(十三)IO简介、字节流与字符流区别、带缓冲的字节/字符流读取数据、FileReader/FileWriter便捷类、Apache IO库使用说明
- 【Java.IO】I/O 字节 <-> 字符转换流 —— InputStreamReader,OutputStreamWriter(FileReader,FileWriter)
- [Java] IO-01 FileInputStream / FileOutputStream / FileReader / FileWriter
- java IO访问文件和文件夹File
- Java IO--字节流与字符流OutputStream/InputStream/Writer/Reader
- java 字符流实现文件读写操作(FileReader-FileWriter)
- 学习笔记之java.io包中的字符流(上)—— Reader和Writer
- JAVA学习笔记(三十二)- 字符流 FileReader & FileWriter
- Java IO深入理解读写文件(FileInputStream、FileOutputStream、FileReader、FileWriter、RandomAccessFile)
- Java,IO之FileInputStream和FileReader读取文件(疯狂java讲义)
- 190_IO流_FileReader_Writer完成文件复制
- Java - IO - 字符流 - Writer - Reader
- IO总结 File FileInputStream FileoutputStream BufferedReader BufferedWriter DataInputStream DataOutputS