FileInputStream

public class Test{
public static void main(String[] args) throws IOException {
FileInputStream fileIn = null;//定義空的輸入字節流文件

try{
fileIn = new FileInputStream("d:\\workspace\\Test\\src\\Test.java");
}catch(FileNotFoundException e){
System.out.println("找不到指定文件!");
System.exit(-1);
}

try{
int b=0;
int num = 0;
 //read():從此輸入流中讀取下一個數據字節
while((b=fileIn.read()) != -1){//還沒有讀完
System.out.print((char)b);
num++;
}
fileIn.close();
System.out.println();
System.out.println("文件一共有" + num + "個字節。");
}catch(FileNotFoundException e1){
System.out.println("文件讀取錯誤!");
System.exit(-1);
}
}
}

運行結果
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;


public class Test{
public static void main(String[] args) throws IOException {
FileInputStream fileIn = null;//¶¨Òå¿ÕµÄÊäÈë×Ö½ÚÁ÷Îļþ

try{
fileIn = new FileInputStream("d:\\workspace\\Test\\src\\Test.java");
}catch(FileNotFoundException e){
System.out.println("ÕÒ²»µ½Ö¸¶¨Îļþ£¡");
System.exit(-1);
}

try{
int b=0;
int num = 0;
 //read()£º´Ó´ËÊäÈëÁ÷ÖжÁÈ¡ÏÂÒ»¸öÊý¾Ý×Ö½Ú
while((b=fileIn.read()) != -1){//»¹Ã»ÓжÁÍê
System.out.print((char)b);
num++;
}
fileIn.close();
System.out.println();
System.out.println("ÎļþÒ»¹²ÓÐ" + num + "¸ö×Ö½Ú¡£");
}catch(FileNotFoundException e1){
System.out.println("Îļþ¶ÁÈ¡´íÎó£¡");
System.exit(-1);
}
}
}
文件一共有833個字節。

亂碼的原因是由於漢子是2個字節大小,而FileInputStream每次只能讀取一個字節。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章