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