最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 中的FileReader和FileWriter源碼分析_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

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

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實(shí)現(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實(shí)現(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 測(cè)試程序
 *
 * 
 */
 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”對(duì)應(yīng)File對(duì)象
       File file = new File(FileName);
       // 創(chuàng)建FileOutputStream對(duì)應(yīng)FileWriter:將字節(jié)流轉(zhuǎn)換為字符流,即寫入out的數(shù)據(jù)會(huì)自動(dòng)由字節(jié)轉(zhuǎn)換為字符。
       FileWriter out = new FileWriter(file);
      // 寫入10個(gè)漢字
       out1.write("字節(jié)流轉(zhuǎn)為字符流示例");
      // 向“文件中”寫入"0123456789"+換行符
      out1.write("0123456789\n");
      out1.close();
     } catch(IOException e) {
       e.printStackTrace();
     }
   }
   /**
   * InputStreamReader 演示程序
   */
   private static void testRead() {
     try {
      // 方法1:新建FileInputStream對(duì)象
       // 新建文件“file.txt”對(duì)應(yīng)File對(duì)象
       File file = new File(FileName);
       FileReader in1 = new FileReader(file);
       // 測(cè)試read(),從中讀取一個(gè)字符
      char c1 = (char)in1.read();
       System.out.println("c1="+c1);
       // 測(cè)試skip(long byteCount),跳過(guò)4個(gè)字符
       in1.skip(6);
       // 測(cè)試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();
     }
   }
 }

運(yùn)行結(jié)果:

c1=字
buf=流示例0123456

以上所述是小編給大家介紹的Java 中的FileReader和FileWriter源碼分析,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Spring使用AOP完成統(tǒng)一結(jié)果封裝實(shí)例demo

    Spring使用AOP完成統(tǒng)一結(jié)果封裝實(shí)例demo

    這篇文章主要介紹了Spring使用AOP完成統(tǒng)一結(jié)果封裝,本文通過(guò)實(shí)現(xiàn)demo給大家詳細(xì)講解,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • Java+mysql本地圖片上傳數(shù)據(jù)庫(kù)及下載示例

    Java+mysql本地圖片上傳數(shù)據(jù)庫(kù)及下載示例

    本篇文章主要介紹了Java+mysql本地圖片上傳數(shù)據(jù)庫(kù)及下載示例,具有一定的參加價(jià)值,有興趣的可以了解一下。
    2017-01-01
  • Spring IOC 注入的3種方式小結(jié)

    Spring IOC 注入的3種方式小結(jié)

    Spring IoC容器支持多種依賴注入方式,本文主要介紹了Spring IOC 注入的3種方式小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • springboot集成activemq的實(shí)例代碼

    springboot集成activemq的實(shí)例代碼

    本篇文章主要介紹了springboot集成activemq的實(shí)例代碼,詳細(xì)的介紹了ActiveMQ和Spring-Boot 集成 ActiveMQ,有興趣的可以了解下。
    2017-05-05
  • Java 8函數(shù)式接口Function BiFunction DoubleFunction區(qū)別

    Java 8函數(shù)式接口Function BiFunction DoubleFunction

    這篇文章主要為大家介紹了Java 8函數(shù)式接口Function BiFunction DoubleFunction區(qū)別示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Spring打包jar包時(shí)jsp頁(yè)面無(wú)法訪問(wèn)問(wèn)題解決

    Spring打包jar包時(shí)jsp頁(yè)面無(wú)法訪問(wèn)問(wèn)題解決

    這篇文章主要介紹了Spring打包jar包時(shí)jsp頁(yè)面無(wú)法訪問(wèn)問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Java多線程 ReentrantLock互斥鎖詳解

    Java多線程 ReentrantLock互斥鎖詳解

    這篇文章主要介紹了Java多線程 ReentrantLock互斥鎖詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • java使用@Scheduled注解執(zhí)行定時(shí)任務(wù)

    java使用@Scheduled注解執(zhí)行定時(shí)任務(wù)

    這篇文章主要給大家介紹了關(guān)于java使用@Scheduled注解執(zhí)行定時(shí)任務(wù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 在idea中創(chuàng)建SpringBoot項(xiàng)目

    在idea中創(chuàng)建SpringBoot項(xiàng)目

    這篇文章主要介紹了在idea中創(chuàng)建SpringBoot項(xiàng)目,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • java編程中拷貝數(shù)組的方式及相關(guān)問(wèn)題分析

    java編程中拷貝數(shù)組的方式及相關(guān)問(wèn)題分析

    這篇文章主要介紹了java編程中拷貝數(shù)組的方式及相關(guān)問(wèn)題分析,分享了Java中數(shù)組復(fù)制的四種方式,其次對(duì)二維數(shù)組的簡(jiǎn)單使用有一段代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11

最新評(píng)論

屏东市| 长阳| 深水埗区| 汉中市| 柘城县| 通渭县| 于都县| 改则县| 珲春市| 蒲江县| 吴旗县| 尉氏县| 来安县| 荣成市| 宜黄县| 五华县| 大新县| 无棣县| 星子县| 龙州县| 沂水县| 武清区| 环江| 靖安县| 扬州市| 绥中县| 汕头市| 宁阳县| 黑水县| 凌云县| 黔西县| 栾川县| 大姚县| 汨罗市| 三台县| 荣成市| 洪雅县| 舞阳县| 扎赉特旗| 霸州市| 囊谦县|