程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java字符流和字撙節對文件操作的差別

Java字符流和字撙節對文件操作的差別

編輯:關於JAVA

Java字符流和字撙節對文件操作的差別。本站提示廣大學習愛好者:(Java字符流和字撙節對文件操作的差別)文章只能為提供參考,不一定能成為您想要的結果。以下是Java字符流和字撙節對文件操作的差別正文


記適合初本身剛開端進修Java的時刻,對Java的IO流這一塊特殊不明確,所以寫了這篇漫筆願望能對剛開端進修Java的人有所贊助,也便利今後本身查詢。Java的IO流分為字符流(Reader,Writer)和字撙節(InputStream,OutputStream),字撙節望文生義字撙節就是將文件的內容讀取到字節數組,然後再輸入到另外一個文件中。而字符流操作的最小單元則是字符。可以先看一下IO流的概述:

 

上面起首是經由過程字符流對文件停止讀取和寫入:

package lib;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class Test {
  // 界說文件途徑
  File f = new File("F:\\test.txt");
  //字符流寫入的辦法
  public String writeInFile() throws IOException{
    String str = "";
    String count = "";
    try {
      // 應用字符流對文件停止讀取
      BufferedReader bf = new BufferedReader(new FileReader(f));
      while (true) {
        //讀取每行數據並將其賦值給str
        if ((count = bf.readLine()) != null) {
          str += count;
        } else {
          break;
        }
      }
      // 封閉流
      bf.close();
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    }
    return str;
  }
  //字符流讀取的辦法
  public void getReader(){
    try {
      //個中true表現在本來文件內容的尾部添加,若不寫則表現清空文件後再添加內容
      PrintWriter pw=new PrintWriter(new FileWriter(f,true));
      pw.write("測試輸出字符串到文件中2");
      pw.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
  public static void main(String[] args) throws IOException {
    Test test=new Test();
    //將字符串輸出到文件中
    test.getReader();
    //讀取絕對應的字符串
    String str=test.writeInFile();
    //將文件中內容在掌握台輸入
    System.out.println("文件內容為:"+str);
  }
}

上述代碼的症結處所都有正文,就不再逐個贅述了,重要就是在應用完流以後不要忘卻封閉就好

然後是經由過程字撙節的方法對文件停止操作,將一個文件中的內容復制到另外一個文件中:

package com.file.test2;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class TestFile2 {
  //應用字撙節讀取並寫入文件,將一個文件復制到另外一個文件中
  public static void main(String[] args) throws IOException {
    //要復制的源文件
    File f=new File("D:\\test.txt");
    //目的文件
    File f2=new File("D:\\test2.txt");
    //界說一個byte類型的數組,用於存儲讀取到的內容
    byte [] b=new byte[1024];
    int length;
    try {
      //界說讀取的流
      FileInputStream in=new FileInputStream(f);
      //界說輸入到文件的流
      FileOutputStream out=new FileOutputStream(f2);
      //將文件內容輸入到另外一個文件中
      while((length=in.read(b))!=-1){
        out.write(b, 0, length);
      }
      out.close();
      in.close();
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    }
  }
}

在字撙節的操作中,第13行的源文件必需存在,可以依據須要自行更改文件途徑,只須要存期近可,不然會報文件找不到的毛病,同時若想在掌握台輸入讀取到的字撙節的內容則可以在第27和28行之間加兩句代碼:in.read(b, 0, b.length);System.out.println(new String(b));

以上就是字符流和字撙節的相干操作,其實代碼不難,重要是本身的懂得,雷同的成績每一個人都邑有分歧的懂得方法,固然,關於我們編程人員來講,除要多思慮以外還要多著手。最初願望以上內容能對年夜家有所贊助,也請持續支撐本站。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved