gpt4 book ai didi

Java 中的FileReader和FileWriter源码分析_动力节点Java学院整理

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Java 中的FileReader和FileWriter源码分析_动力节点Java学院整理由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

FileReader和FileWriter源码分析 。

1. FileReader 源码(基于jdk1.7.40) 。

?
1
2
3
4
5
6
7
8
9
10
11
12
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)  。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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实现的.

示例程序  。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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 中的FileReader和FileWriter源码分析_动力节点Java学院整理的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com