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