黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

文件輸入流 FileInputStream

系統(tǒng) 1942 0

??? FileInputStream 類(lèi)從文件中讀取數(shù)據(jù)。它有以下構(gòu)造方法:?
??? FileInputStream(File file)--------參數(shù)file指定文件的數(shù)據(jù)源?
??? FileInputStream(String name)-------- 參數(shù)name指定文件數(shù)據(jù)源。在參數(shù)name中包含了文件路徑信息。?
??? 下面這個(gè)FileInputStreamTester類(lèi)讀取test.txt文件中的內(nèi)容。?
Java代碼?? 收藏代碼
  1. package ?xiaohang.com;??
  2. ??
  3. import ?java.io.FileInputStream;??
  4. import ?java.io.IOException;??
  5. ??
  6. public ? class ?FileInputStreamTester?{??
  7. ???? public ? static ? void ?main(String[]?args)? throws ?IOException?{??
  8. ????????FileInputStream?in?=? new ?FileInputStream( "D:\\test.txt" );??
  9. ???????? int ?data;??
  10. ???????? while ?((data?=?in.read())?!=?- 1 )?{??
  11. ????????????System.out.println(data?+? "?" );??
  12. ????????}??
  13. ???????? //?關(guān)閉此文件輸入流并釋放與此流有關(guān)的所有系統(tǒng)資源 ??
  14. ????????in.close();??
  15. ????}??
  16. }??

????? 假定在 test.txt文件中包含的字符串為"abc1好" ,并且假定文件所在的操作系統(tǒng)的默認(rèn)字符編碼為GBK, 那么在文件中實(shí)際存放的是這5個(gè)字符的GBK 字符編碼, 字符"a"、"b"、"c"、 和 "1" 的GBK字符編碼各占一個(gè)字節(jié),分別是97、98、99和49。“好”的GBK字符編碼占2個(gè)字節(jié),為186和195。文件輸入流的read()方法每次讀取一個(gè)字節(jié),因此以上程序打印的結(jié)果為:?

文件輸入流 FileInputStream ?

?? 如果文件很大,為了提高效率,可以使用read(byte[] buff)方法,它能減少物理文件的次數(shù)。下面這個(gè)UseBuffer類(lèi)的main()方法把test.txt 中數(shù)據(jù)拷貝到out.txt中。在進(jìn)行讀寫(xiě)操作時(shí),都使用了字節(jié)數(shù)組緩沖區(qū),每次最多讀寫(xiě)1024個(gè)字節(jié)。?
Java代碼?? 收藏代碼
  1. package ?xiaohang.com;??
  2. ??
  3. import ?java.io.FileInputStream;??
  4. import ?java.io.FileOutputStream;??
  5. import ?java.io.IOException;??
  6. ??
  7. public ? class ?UseBuffer?{??
  8. ???? public ? static ? void ?main(String[]?args)? throws ?IOException?{??
  9. ???????? final ? int ?SIZE= 1024 ;??
  10. ????????FileInputStream?in?=? new ?FileInputStream( "D:\\test.txt" );??
  11. ????????FileOutputStream?out?=? new ?FileOutputStream( "D:\\out.txt" );??
  12. ???????? //創(chuàng)建字節(jié)數(shù)組緩沖區(qū) ??
  13. ???????? byte []?buff?=? new ? byte [SIZE];??
  14. ???????? //把test.txt文件中的數(shù)據(jù)讀入到buff中 ??
  15. ???????? int ?len?=?in.read(buff);??
  16. ???????? while ?(len!=- 1 )?{??
  17. ???????????? //把buff中的數(shù)據(jù)寫(xiě)到out.txt文件中 ??
  18. ????????????out.write(buff,? 0 ,?len);??
  19. ???????????? //從新讀取輸入流,此時(shí)已到達(dá)輸入流的結(jié)尾 ??
  20. ????????????len=in.read();??
  21. ????????}??
  22. ????????in.close();??
  23. ????????out.close();??
  24. ????}??
  25. }??

?? 如果test.txt文件與UseBuffer類(lèi)的 .class 文件位于同一目錄下,也可以通過(guò)Class類(lèi)的getResourceAsStream()方法來(lái)獲得輸入流,例如:?
Java代碼?? 收藏代碼
  1. InputStream?in?=?UseBuffer. class .getResourceAsStream( "test.txt" ); //適用于靜態(tài)方法或?qū)嵗椒? ??
  2. //或者: ??
  3. InputStream?in?=? this .getClass().getResourceAsStream( "test.txt" );? //適用于實(shí)例方法 ??

? 以上方法的好處在于只提供test.txt文件的相對(duì)路徑。

文件輸入流 FileInputStream


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論