亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Java 中FileReader與FileWriter有哪些區別

發布時間:2020-11-19 16:25:22 來源:億速云 閱讀:188 作者:Leah 欄目:編程語言

在Java 中FileReader與FileWriter有哪些區別?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

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有哪些區別的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泽普县| 孟津县| 霞浦县| 曲松县| 仙游县| 无锡市| 广河县| 通河县| 丰顺县| 通渭县| 麦盖提县| 富阳市| 秦安县| 吉木乃县| 耒阳市| 岫岩| 阿合奇县| 永清县| 乡宁县| 大连市| 体育| 营山县| 蛟河市| 清丰县| 花垣县| 津南区| 吉首市| 隆林| 茂名市| 土默特左旗| 宜都市| 克东县| 荔波县| 永嘉县| 贵港市| 嘉定区| 喜德县| 乌拉特前旗| 思南县| 肥乡县| 高邑县|