1.3.9 字符流 InputStreamReader/OutputStreamWriter
上面的幾種流的單位是 byte,所以叫做字節(jié)流,寫(xiě)入文件的都是二進(jìn)制字節(jié),我們無(wú)法直接看,下面要學(xué)習(xí)的是字節(jié)流
Java采用 Unicode 字符集,每個(gè)字符和漢字都采用2個(gè)字節(jié)進(jìn)行編碼,ASCII 碼是 Unicode 編碼的自集
InputStreamReader 是 字節(jié)流 到 字符橋的橋梁 ( byte->char 讀取字節(jié)然后用特定字符集編碼成字符)
OutputStreamWriter是 字符流 到 字節(jié)流的橋梁 ( char->byte )
他們是在字節(jié)流的基礎(chǔ)上加了橋梁作用,所以構(gòu)造他們時(shí)要先構(gòu)造普通文件流
我們常用的是:
BufferedReader 方法:readLine()
PrintWriter 方法:println()
例子:
import java.io.*;
public class PrintWriterTest{
public static void main(String args[]){
PrintWriter pw=null;
try{
pw=new PrintWriter(
new OutputStreamWriter(
new FileOutputStream("bufferedwriter.txt")));
pw.println("hello world");
}catch(Exception e){
e.printStackTrace();
}finally{
if(pw!=null)
try{
pw.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
import java.io.*;
public class BufferedReaderTest{
public static void main(String args[]){
BufferedReader br=null;
try{
br=new BufferedReader(
new InputStreamReader(
new FileInputStream("bufferedwriter.txt")));
System.out.println(br.readLine());
}catch(Exception e){
e.printStackTrace();
}finally{
if(br!=null)
try{
br.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)Java經(jīng)典算法大全匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |