亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java 中的FileReader和FileWriter源碼分析_動力節(jié)點Java學院整理

 更新時間:2017年05月18日 09:42:25   投稿:mrr  
本文給大家分享一段示例程序,通過示例代碼可以看出FileReader是基于InputStreamReader實現(xiàn)的,FileWriter是基于OutputStreamWriter實現(xiàn)的,具體程序代碼大家通過本文了解下吧

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實現(xiàn)的。

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實現(xiàn)的。

示例程序 

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 演示函數(shù)
   *
   */
   private static void testWrite() {
     try {
       // 創(chuàng)建文件“file.txt”對應File對象
       File file = new File(FileName);
       // 創(chuàng)建FileOutputStream對應FileWriter:將字節(jié)流轉換為字符流,即寫入out的數(shù)據(jù)會自動由字節(jié)轉換為字符。
       FileWriter out = new FileWriter(file);
      // 寫入10個漢字
       out1.write("字節(jié)流轉為字符流示例");
      // 向“文件中”寫入"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源碼分析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • 詳解Java 自動裝箱與自動拆箱

    詳解Java 自動裝箱與自動拆箱

    這篇文章主要介紹了Java 自動裝箱與自動拆箱的相關資料,幫助大家更好的理解和學習Java,感興趣的朋友可以了解下
    2020-09-09
  • 微服務框架FEIGN使用常見問題分析

    微服務框架FEIGN使用常見問題分析

    這篇文章主要為大家介紹了微服務框架FEIGN常見問題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • JDK?8和JDK?17的區(qū)別和新特性大全

    JDK?8和JDK?17的區(qū)別和新特性大全

    這篇文章主要給大家介紹了關于JDK?8和JDK?17的區(qū)別和新特性的相關資料,文中總結一些Jdk8到Jdk17的一些新特性,給大家選擇jdk版本的時候有些參考性,需要的朋友可以參考下
    2023-06-06
  • Java數(shù)據(jù)結構之鏈表實現(xiàn)(單向、雙向鏈表及鏈表反轉)

    Java數(shù)據(jù)結構之鏈表實現(xiàn)(單向、雙向鏈表及鏈表反轉)

    這篇文章主要給大家介紹了關于Java數(shù)據(jù)結構之鏈表實現(xiàn)的相關資料,其中包括單向鏈表、雙向鏈表及鏈表反轉的實現(xiàn)代碼,需要的朋友可以參考下
    2021-06-06
  • JAVA加密算法- 非對稱加密算法(DH,RSA)的詳細介紹

    JAVA加密算法- 非對稱加密算法(DH,RSA)的詳細介紹

    這篇文章主要介紹了JAVA加密算法- 非對稱加密算法(DH,RSA),詳細介紹了DH,RSA的用法和示例,需要的朋友可以了解一下。
    2016-11-11
  • Spring?Boot實現(xiàn)WebSocket實時通信

    Spring?Boot實現(xiàn)WebSocket實時通信

    本文主要介紹了Spring?Boot實現(xiàn)WebSocket實時通信,包含實現(xiàn)實時消息傳遞和群發(fā)消息等功能,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • 使用Java WebSocket獲取客戶端IP地址的示例代碼

    使用Java WebSocket獲取客戶端IP地址的示例代碼

    在開發(fā)Web應用程序時,我們通常需要獲取客戶端的 IP 地址用于日志記錄、身份驗證、限制訪問等操作,本文將介紹如何使用Java WebSocket API獲取客戶端IP地址,以及如何在常見的WebSocket框架中獲得客戶端 IP地址,需要的朋友可以參考下
    2023-11-11
  • Java注解的Retention和RetentionPolicy實例分析

    Java注解的Retention和RetentionPolicy實例分析

    這篇文章主要介紹了Java注解的Retention和RetentionPolicy,結合實例形式分析了Java注解Retention和RetentionPolicy的基本功能及使用方法,需要的朋友可以參考下
    2019-09-09
  • java基礎理論Stream管道流Map操作示例

    java基礎理論Stream管道流Map操作示例

    這篇文章主要未大家介紹了java基礎理論Stream管道流Map操作方法示例解析,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • Java11?中基于嵌套關系的訪問控制優(yōu)化問題

    Java11?中基于嵌套關系的訪問控制優(yōu)化問題

    在?Java?語言中,類和接口可以相互嵌套,這種組合之間可以不受限制的彼此訪問,包括訪問彼此的構造函數(shù)、字段、方法,接下來通過本文給大家介紹Java11中基于嵌套關系的訪問控制優(yōu)化問題,感興趣的朋友一起看看吧
    2022-01-01

最新評論