欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 青青草一区 | 久久亚洲网 | 久久久久久久久久免观看 | 成年网站在线观看 | 久久99精品这里精品动漫6 | 成人在线h | 222奇米影视 | 99久在线视频 | 亚洲色婷婷久久精品AV蜜桃久久 | 国产 日韩 欧美 亚洲 | 黄色影视大全 | 亚洲成人福利在线 | 天干夜天天夜天干天 | 国产成人久久婷婷精品流白浆 | 欧美a级成人淫片免费看 | 日韩福利在线 | 国产日韩欧美视频在线观看 | 嗯啊你轻点好深啊hh在线播放 | 久操不卡 | 黄免费看 | 国产美女www爽爽爽免费视频 | 精品视频在线观看 | www.99xxxx.com| 亚洲欧美日韩在线线精品 | 亚洲成在人线免费视频 | 男女啪啪高清无遮挡 | 欧美国产精品一区二区免费 | 第三级视频在线观看 | 国产亚洲情侣一区二区无 | 欧美精品一区二区三区久久 | 性视频亚洲| 一级免费大片 | 看一天影院宅急看在线观看 | 久久亚洲欧美成人精品 | 大香萑75久久精品免费 | 亚洲不卡视频 | 婷婷精品国产亚洲AV在线观看 | 午夜羞羞| 欧美一级毛片欧美大尺度一级毛片 | 久色乳综合思思在线视频 | 无码色情影片视频在线看免费 |