日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

I/O流(一)

發(fā)布時(shí)間:2024/4/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 I/O流(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

流:字節(jié)序列(順序)
(輸入流和輸出流都是抽象類,不能被實(shí)例化;輸入和輸出是相對(duì)于程序來說的;)

輸入流InputStream:(鍵盤、文件、網(wǎng)絡(luò) )

System.in.read();可以按照讀取控制臺(tái)輸入的數(shù)據(jù)
等價(jià)于
Scanner s=new Scanner(System.in);

/**舉例如下 int s=System.in.read(); //char類型不能表示讀取的文件的結(jié)束, int表示為-1 時(shí),表明文件讀取結(jié)束 System.out.println(s); **/

IO操作時(shí)會(huì)有字節(jié)序列產(chǎn)生
字節(jié)序列→(編碼方式)→串
編碼方式:gbk (囧、镕)、 gb2312、big5 (臺(tái)灣)、 Unicode(標(biāo)準(zhǔn))—UTF-8

/**舉例如下 //將字符串轉(zhuǎn)換成字節(jié)序列,再將字節(jié)序列轉(zhuǎn)換成字符串 String s="中國(guó) adbkjd"; Byte[] b=s.getBytes(); //Byte[] b=s.getBytes("GBK"); String s1=new String(b); //String s1=new String(b,"GBK"); //不給出的話就按默認(rèn)的編碼方式;給的話這兩個(gè)地方的編碼方式要保持一致 System.out.println(); //輸出結(jié)果:中國(guó) adbkjd **/

System.in 提供字節(jié)輸入;
InputStreamReader 提供了字符的輸入;
BufferedReader 提供了整行字符(串)的輸入;

/**舉例如下 //標(biāo)準(zhǔn)的從鍵盤讀入一行信息 BufferedReader bs=new BufferEdReader(new InputStreamReader(System.in)); String s=bs.readLine(); //一行一行讀取數(shù)據(jù) System.out.println(s); **/

java中的預(yù)定義流:
System.in 標(biāo)準(zhǔn)輸入流 默認(rèn)鍵盤
System.out 標(biāo)準(zhǔn)輸出流 默認(rèn)鍵盤
System.err 標(biāo)準(zhǔn)錯(cuò)誤流 默認(rèn)屏幕
這些預(yù)定義的流是可以重定向的:
System.setIn(…)
System.setOut(…)
System.setErr(…)

泛化:
InputStream ins=new FileInputStream(“a.txt”);

讀的異常情況
1、異常
FileNotFoundException 文件找不到
IOException 其他異常
2、讀到文件尾
readLine() 返回null

從文件讀入信息打印到控制臺(tái)

/**舉例如下 BufferedReader bs=new BufferedReader(new InputStreamReader(new FileInputStreamReader("d:/test.txt"))); for(;;){String s =br.readLine(); //一行一行的讀數(shù)據(jù)if(s==null)break;System.out.println(s); } **/ ----------------------------------------------------------

輸出流OutputStream:(屏幕、文件、網(wǎng)絡(luò))

將一些字符串輸出的文件中

/**舉例如下 String s1="文件流文件流"; String s2="我是誰我是誰"; BufferedWriter bw= new BufferedWriter( new OutputStreamWriter( new FileOutputStream("d:/test02.txt"))); bw.write(s1); //換行:改為bw.write(s1+"\n");或者再加一句bw.newLine(); bw.write(s2);//將內(nèi)容寫入內(nèi)存 bw.flush();//清除內(nèi)存中的內(nèi)容,將其寫到磁盤上對(duì)應(yīng)的文件中 **/

從鍵盤接受信息輸出到文件

/**舉例如下 //從鍵盤讀入 BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); //構(gòu)建輸出流 BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d:/test.txt"))); //寫信息 for(;;){String s=br.readLine();if(s == null )break;bw.write(s); } bw.flush(); **/

為輸出的信息加行號(hào)

/**舉例如下 //從鍵盤讀入 BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); //構(gòu)建輸出流 BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d:/test.txt"))); //寫信息 int i=0; for(;;){String s=br.readLine();if(s == null )break;bw.write(i + "、" + s);bw.newLine();i++; } bw.flush(); **/

總結(jié)

以上是生活随笔為你收集整理的I/O流(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。