教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Java培訓之輸入流和輸出流的流向的理解?

更新時間:2016年06月24日16時34分 來源:傳智播客Java培訓學院 瀏覽次數(shù):

什么時候使用流對象?

操作設(shè)備上的數(shù)據(jù)或操作文件的時候可以使用。
字符流

字符流的抽象基類:Reader , Writer。

字符流的理解,由來和作用?

由于很多國家的文字融入進來,比如說中文在編碼表中默認占2個字節(jié)。而為了按照文字的單位來處理,所以出現(xiàn)了字符流。
由來:早期的字節(jié)流+編碼表,為了更便于操作文字數(shù)據(jù)。
作用:為了處理文字數(shù)據(jù)。

復制文件的原理和代碼。

原理:
首先用一個讀取流對象和一個文件進行關(guān)聯(lián),然后用一個寫入流對象作為目地的,
為了把讀取流中的文件傳輸?shù)侥康牡亓鲗ο笾校覀兙吞峁┝艘粋€字符數(shù)組,
為了關(guān)聯(lián)這個數(shù)組,所以讀取流對象有一個read()方法與這個字符數(shù)組進行關(guān)聯(lián),
同理,寫入流對象也有一個write()方法與這個字符數(shù)組進行關(guān)聯(lián),
這樣2個流對象就相連接了,而這個字符數(shù)組就相當于一個中轉(zhuǎn)站。
 
 
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*
 * 對文本文件進行復制。將c盤的文件復制到d盤中。
 * 原理:其實就是一個最簡單的讀寫過程。
 * 從c盤源,讀取數(shù)據(jù),并將讀到的數(shù)據(jù),寫入到目的d盤中。
 */
public class CopyTextFileTest {
public static void main(String[] args) {
FileReader fr = null;
FileWriter fw = null;
try {
//1,創(chuàng)建一個字符讀取流讀取與源數(shù)據(jù)相關(guān)聯(lián)。
fr = new FileReader("demo.txt");
//2,創(chuàng)建一個存儲數(shù)據(jù)的目的地。
fw = new FileWriter("copyDemo.txt");
//3,創(chuàng)建一個字符數(shù)組將讀取流對象和寫入流對象相連接。
char[] buf = new char[1024];
//4,每次讀取的長度不一樣,所以定義一個變量.
int len = 0;
//5,用循環(huán)讀取文件中的數(shù)據(jù)
while((len= fr.read(buf)) != -1) //判斷是否讀取完沒
fw.write(buf,0,len); //為了只讀取有效的數(shù)據(jù)
} catch (Exception e) {
}finally{
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}

}

本文版權(quán)歸傳智播客Java培訓學院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客Java培訓學院
首發(fā):http://xamj520.com/javaee

0 分享到:
和我們在線交談!