Java 中的FileReader和FileWriter源码分析_动力节点Java学院整理
程序员文章站
2024-02-23 09:25:34
filereader和filewriter源码分析
1. filereader 源码(基于jdk1.7.40)
package java.io;
p...
filereader和filewriter源码分析
1. filereader 源码(基于jdk1.7.40)
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)); } }
从中,我们可以看出filereader是基于inputstreamreader实现的。
2. filewriter 源码(基于jdk1.7.40)
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)); } }
从中,我们可以看出filewriter是基于outputstreamwriter实现的。
示例程序
import java.io.file; import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.filewriter;; import java.io.filereader; import java.io.ioexception; /** * filereader 和 filewriter 测试程序 * * */ public class filereaderwritertest { private static final string filename = "file.txt"; private static final string charsetname = "utf-8"; public static void main(string[] args) { testwrite(); testread(); } /** * outputstreamwriter 演示函数 * */ private static void testwrite() { try { // 创建文件“file.txt”对应file对象 file file = new file(filename); // 创建fileoutputstream对应filewriter:将字节流转换为字符流,即写入out的数据会自动由字节转换为字符。 filewriter out = new filewriter(file); // 写入10个汉字 out1.write("字节流转为字符流示例"); // 向“文件中”写入"0123456789"+换行符 out1.write("0123456789\n"); out1.close(); } catch(ioexception e) { e.printstacktrace(); } } /** * inputstreamreader 演示程序 */ private static void testread() { try { // 方法1:新建fileinputstream对象 // 新建文件“file.txt”对应file对象 file file = new file(filename); filereader in1 = new filereader(file); // 测试read(),从中读取一个字符 char c1 = (char)in1.read(); system.out.println("c1="+c1); // 测试skip(long bytecount),跳过4个字符 in1.skip(6); // 测试read(char[] cbuf, int off, int len) char[] buf = new char[10]; in1.read(buf, 0, buf.length); system.out.println("buf="+(new string(buf))); in.close(); } catch(ioexception e) { e.printstacktrace(); } } }
运行结果:
c1=字
buf=流示例0123456
以上所述是小编给大家介绍的java 中的filereader和filewriter源码分析,希望对大家有所帮助
推荐阅读
-
Java 中的FileReader和FileWriter源码分析_动力节点Java学院整理
-
Java中的FilterOutputStream 简介_动力节点Java学院整理
-
Java 中的 DataInputStream 介绍_动力节点Java学院整理
-
Java中的InputStreamReader和OutputStreamWriter源码分析_动力节点Java学院整理
-
Java线程的生命周期和状态控制_动力节点Java学院整理
-
Java中的FileInputStream 和 FileOutputStream 介绍_动力节点Java学院整理
-
Java中的 FilterInputStream简介_动力节点Java学院整理
-
PipedWriter和PipedReader源码分析_动力节点Java学院整理
-
Java 中的HashMap详解和使用示例_动力节点Java学院整理
-
Java中的HashSet详解和使用示例_动力节点Java学院整理