欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

java文件讀寫大全

系統(tǒng) 2395 0

使用Java操作文本文件的方法詳解 ?
摘要: 最初java是不支持對文本文件的處理的,為了彌補(bǔ)這個(gè)缺憾而引入了Reader和Writer兩個(gè)類 ?
最初java是不支持對文本文件的處理的,為了彌補(bǔ)這個(gè)缺憾而引入了Reader和Writer兩個(gè)類,這兩個(gè)類都是抽象類,Writer中 write(char[] ch,int off,int
length),flush()和close()方法為抽象方法,Reader中read(char[] ch,int off,int length)和close()方法是抽象方法。子類應(yīng)該分別實(shí)現(xiàn)他們。
  當(dāng)我們讀寫文本文件的時(shí)候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的類是InputStreamReader,
它是字節(jié)轉(zhuǎn)換為字符的橋梁。你可以在構(gòu)造器重指定編碼的方式,如果不指定的話將采用底層操作系統(tǒng)的默認(rèn)編碼方式,例如GBK等。當(dāng)使用FileReader讀取文件
的時(shí)候。
  1. FileReader?fr?=? new ?FileReader( "ming.txt" );??
  2. int ?ch?=? 0 ;??
  3. while ((ch?=?fr.read())!=- 1 ?)??
  4. {??
  5. System.out.print(( char )ch);??
  6. }??

其中read()方法返回的是讀取得下個(gè)字符。當(dāng)然你也可以使用read(char[] ch,int off,int length)這和處理二進(jìn)制文件的時(shí)候類似,不多說了。如果使用
InputStreamReader來讀取文件的時(shí)候
while((ch = isr.read())!=-1)
{
System.out.print((char)ch); ?
}
這和FileReader并沒有什么區(qū)別,事實(shí)上在FileReader中的方法都是從InputStreamReader中繼承過來的。read()方法是比較好費(fèi)時(shí)間的,如果為了提高效率
我們可以使用BufferedReader對Reader進(jìn)行包裝,這樣可以提高讀取得速度,我們可以一行一行的讀取文本,使用readLine()方法。
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("ming.txt")));
String data = null;
while((data = br.readLine())!=null)
{
System.out.println(data); ?
}
當(dāng)你明白了如何用Reader來讀取文本文件的時(shí)候那么用Writer寫文件同樣非常簡單。有一點(diǎn)需要注意,當(dāng)你寫文件的時(shí)候,為了提高效率,寫入的數(shù)據(jù)會先
放入緩沖區(qū),然后寫入文件。因此有時(shí)候你需要主動調(diào)用flush()方法。與上面對應(yīng)的寫文件的方法為:
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
  1. FileWriter?fw?=? new ?FileWriter( "hello.txt" );??
  2. String?s?=? "hello?world" ;??
  3. fw.write(s, 0 ,s.length());??
  4. fw.flush();??
  5. OutputStreamWriter?osw?=? new ?OutputStreamWriter( new ?FileOutputStream( "hello2.txt" ));??
  6. osw.write(s, 0 ,s.length());??
  7. osw.flush();??
  8. PrintWriter?pw?=? new ?PrintWriter( new ?OutputStreamWriter( new ?FileOutputStream( "hello3.txt" )), true );??
  9. pw.println(s);??

不要忘記用完后關(guān)閉流!下面是個(gè)小例子,幫助新手理解。其實(shí)有的時(shí)候java的IO系統(tǒng)是需要我們多記記的,不然哪天就生疏了。

·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
  1. import ?java.io.*;??
  2. public ? class ?TestFile2??
  3. {??
  4. public ? static ? void ?main(String[]?args)? throws ?IOException??
  5. {??
  6. FileReader?fr?=? new ?FileReader( "ming.txt" );??
  7. char []?buffer?=? new ? char [ 1024 ];??
  8. int ?ch?=? 0 ;??
  9. while ((ch?=?fr.read())!=- 1 ?)??
  10. {??
  11. System.out.print(( char )ch);??
  12. }??
  13.   InputStreamReader?isr?=? new ?InputStreamReader( new ?FileInputStream( "ming.txt" ));??
  14. while ((ch?=?isr.read())!=- 1 )??
  15. {??
  16. System.out.print(( char )ch);??
  17. }??
  18.   BufferedReader?br?=? new ?BufferedReader( new ?InputStreamReader( new ?FileInputStream( "ming.txt" )));??
  19. String?data?=? null ;??
  20. while ((data?=?br.readLine())!= null )??
  21. {??
  22. System.out.println(data);??
  23. }??
  24.   FileWriter?fw?=? new ?FileWriter( "hello.txt" );??
  25. String?s?=? "hello?world" ;??
  26. fw.write(s, 0 ,s.length());??
  27. fw.flush();??
  28.   OutputStreamWriter?osw?=? new ?OutputStreamWriter( new ?FileOutputStream( "hello2.txt" ));??
  29. osw.write(s, 0 ,s.length());??
  30. osw.flush();??
  31.   PrintWriter?pw?=? new ?PrintWriter( new ?OutputStreamWriter( new ?FileOutputStream( "hello3.txt" )), true );??
  32. pw.println(s);??
  33.   fr.close();??
  34. isr.close();??
  35. br.close();??
  36. fw.close();??
  37. osw.close();??
  38. pw.close();??
  39. }??
  40. }??

java中多種方式讀文件
一、多種方式讀文件內(nèi)容。
1、按字節(jié)讀取文件內(nèi)容
2、按字符讀取文件內(nèi)容
3、按行讀取文件內(nèi)容
4、隨機(jī)讀取文件內(nèi)容

·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
  1. import ?java.io.BufferedReader;??
  2. import ?java.io.File;??
  3. import ?java.io.FileInputStream;??
  4. import ?java.io.FileReader;??
  5. import ?java.io.IOException;??
  6. import ?java.io.InputStream;??
  7. import ?java.io.InputStreamReader;??
  8. import ?java.io.RandomAccessFile;??
  9. import ?java.io.Reader;??
  10. public ? class ?ReadFromFile?{??
  11. /** ?
  12. *?以字節(jié)為單位讀取文件,常用于讀二進(jìn)制文件,如圖片、聲音、影像等文件。 ?
  13. *?@param?fileName?文件的名 ?
  14. */ ??
  15. public ? static ? void ?readFileByBytes(String?fileName){??
  16. File?file?=? new ?File(fileName);??
  17. InputStream?in?=? null ;??
  18. try ?{??
  19. System.out.println( "以字節(jié)為單位讀取文件內(nèi)容,一次讀一個(gè)字節(jié):" );??
  20. //?一次讀一個(gè)字節(jié) ??
  21. in?=? new ?FileInputStream(file);??
  22. int ?tempbyte;??
  23. while ((tempbyte=in.read())?!=?- 1 ){??
  24. System.out.write(tempbyte);??
  25. }??
  26. in.close();??
  27. }? catch ?(IOException?e)?{??
  28. e.printStackTrace();??
  29. return ;??
  30. }??
  31. try ?{??
  32. System.out.println( "以字節(jié)為單位讀取文件內(nèi)容,一次讀多個(gè)字節(jié):" );??
  33. //一次讀多個(gè)字節(jié) ??
  34. byte []?tempbytes?=? new ? byte [ 100 ];??
  35. int ?byteread?=? 0 ;??
  36. in?=? new ?FileInputStream(fileName);??
  37. ReadFromFile.showAvailableBytes(in);??
  38. //讀入多個(gè)字節(jié)到字節(jié)數(shù)組中,byteread為一次讀入的字節(jié)數(shù) ??
  39. while ?((byteread?=?in.read(tempbytes))?!=?- 1 ){??
  40. System.out.write(tempbytes,? 0 ,?byteread);??
  41. }??
  42. }? catch ?(Exception?e1)?{??
  43. e1.printStackTrace();??
  44. }? finally ?{??
  45. if ?(in?!=? null ){??
  46. try ?{??
  47. in.close();??
  48. }? catch ?(IOException?e1)?{??
  49. margin: 0px; border-left: #6ce26c 3px sol
分享到:
評論
yiweifeng
  • 瀏覽: 4653 次
  • 性別: Icon_minigender_1
  • 來自: 秦皇島
最近訪客 更多訪客>>
文章分類
社區(qū)版塊
最新評論

java文件讀寫大全


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产在线网| 在线观看国产情趣免费视频 | 久久综合性 | 亚洲一区二区三区91 | 成年人在线播放视频 | 久草在线资源福利站 | 婷婷久久精品 | 一级毛片在线完整免费观看 | 精品久久久久区二区8888 | 国产一级一级国产 | 色屁屁www影院入口免费观看 | 精品一区二区三区免费视频 | 国产一区在线观看视频 | 国产中文字幕在线播放 | 91在线中文 | 一区二区免费看 | 国产成人亚洲毛片 | 久久伊人一区二区三区四区 | 国产精品免费av | 国内成人自拍视频 | 一区二区三区在线 | 日本 | 三人弄娇妻高潮3p视频 | 亚洲AV久久久久久久无码 | 久久国产精品久久久久久久久久 | 91国在线啪 | 99热久久这里只有精品6国产网 | 亚洲六月丁香色婷婷综合久久 | 欧美福利视频一区二区三区 | 五月婷婷之综合激情 | 午夜影视在线观看免费完整高清大全 | 日韩在线观看一区二区不卡视频 | 国产视频播放 | 99热人人 | www.色综合 | 日韩欧美一区二区三区 | 美日韩免费视频 | 欧美在线视频一区二区三区 | 久久影视一区 | 一级黄色片在线 | 天堂最新在线资源 | 天天看高清特色大片 |