1樓:滴答滴答地盤
直接說問題原因:你只定義byte陣列,但沒有把檔案流放入到陣列中,所內以列印的string字串內容是容一串空格(看我圖1)。
解決方法:int len = fis.read(); read 方法加入引數bys,這樣才能把fis的內容注入bys裡面。
順便說下,fileinputstream不能正確輸出中文,因為這個是按位元組輸出的,每個中文站2個位元組,會出現亂碼。下面給出正確**截圖,和執行截圖(圖2 、3)
2樓:有坑必踩
你的程式只讀取了檔案的前200個位元組。但出現亂碼的原因更可能是字元編碼問題,首先確認一下demo1.txt的編碼,然後new string的時候,使用該編碼。
3樓:匿名使用者
如果有亂碼來,那可能是源轉碼的問題,你試一bai下對內容轉碼一下。
string = new string(string.getbytes("iso-8859-1"),"utf-8");
這句話加du
到輸出語句之zhi前,如果不dao
好使就把utf-8換成gbk,應該就可以了。
4樓:我才是淡淡
用bufferedreader封裝,字元佔兩個位元組,你用byte容易出現只讀了一半的情況。。。
5樓:祈禱
把bys寫到read裡。int len = fis.read(bys);
怎樣用C讀取檔案內容並修改,怎樣用C 讀取TXT檔案內容並修改
1 首先先來看一下準備的txt文字檔案的內容。2 然後在程式中引入操作檔案的名稱空間system.io。3 接下來需要定義一個變數,儲存檔案所在的路徑。4 然後我們先讀取文字內容,呼叫file類的readalllines即可讀取所有內容。5 接下來是修改內容,先按照下圖的方式,準備要修改的內容。6 ...
關於c語言中結構體和檔案讀取輸出問題
當然要錯 改成 fread stu,sizeof stu 1,fp 一個讀資料是讀一條結構體的資料進去 不能分開讀 c語言中對結構體資料格式檔案進行讀取時,必須以二進位制格式開啟檔案,然後按結構體型別變數記憶體塊方式進行資料讀取,相關讀資料命令為fread 函式說明 include size t f...
如何用C合併 和 b檔案並讀取裡面的資料到陣列裡去,本人菜鳥尋求各位高人求教
txt和.b裡面都是什麼內容 如何用c 讀取txt檔案裡的資料,並且儲存在byte陣列裡 不知道幹嘛用的 using system using system.collections.generic using system.linq using system.text using system.co...