[問題] 有關FileInuptStream...

看板java作者 (galagala~￾N )時間19年前 (2006/04/28 18:38), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/7 (看更多)
import java.io.*; public class test { public static void main(String args[]) throws IOException{ char data[]= new char[2048]; //建立字元陣列 byte text[]=new byte[2048]; //建立位元組陣列 int count=0; String st; FileInputStream fis = new FileInputStream("Sample.txt"); //建立fis物件 int is=fis.read(text); //讀取檔案的位元組 FileReader fir = new FileReader("Sample.txt"); BufferedReader bf= new BufferedReader(fir); //讀取檔案行數 int sum=0; while((st=bf.readLine())!= null ) { count++; sum+=st.length(); } System.out.println("Sample.txt含有"+is+"個位元組 , "+sum+"個字元 , "+count+"列資料"); } } 上面是一個完整的小程式,在讀取一個文字檔內容的位元組,字元數和資料行數 執行黃色那兩行時,位元組為358. 如果改寫成int is=fis.read(); 則為164個位元組 又,如果改寫成System.out.println("Sample.txt含有"+fis.read()+"個位元組 則有173個位元組 造成這些不同結果的原因是什麼呢?想了很久沒有頭緒,請大家幫忙看看,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.229.203.88 ※ 編輯: seekyou 來自: 220.229.203.88 (04/28 20:24)
文章代碼(AID): #14KV2aXp (java)
文章代碼(AID): #14KV2aXp (java)