java 实现以字节为单位读取文件(2)

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class readFile2 {
    /** 
     * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 
     * @param fileName            
     */  
    public static void readFileByBytes(String fileName) {  
        File file = new File(fileName);  
        InputStream in = null;  
        try {  
            System.out.println("以字节为单位读取文件内容,一次读一个字节:");  
            // 一次读一个字节  
            in = new FileInputStream(file);  
            int tempbyte;  
            while ((tempbyte = in.read()) != -1) {  
                System.out.write(tempbyte);  
            }   
            System.out.write(10);  
            //当字符串中含有'\n'时会刷新out,'\n'的ascii码为10
            //如果字符串中没有'\n',待读取文件的最后一行将无法打印
            in.close();  
        } catch (IOException e) {  
            e.printStackTrace();  
            return;  
        }  
       try {  
            System.out.println("以字节为单位读取文件内容,一次读多个字节:");  
            // 一次读多个字节  
            byte[] tempbytes = new byte[100];  
            int byteread = 0;  
            in = new FileInputStream(fileName);  
            // 读入多个字节到字节数组中,byteread为一次读入的字节数  
            while ((byteread = in.read(tempbytes)) != -1) {        
                System.out.write(tempbytes, 0, byteread);  
            }  
        } catch (Exception e1) {  
            e1.printStackTrace();  
        } finally {  
            if (in != null) {  
                try {  
                    in.close();  
                } catch (IOException e1) {  
                }  
            }  
        }  
    }  

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String filePath="F:\\test\\testR.txt";
        //在F盘创建test文件夹,在文件夹下创建testR.txt文件
        readFileByBytes(filePath);
    }
}
发布了34 篇原创文章 · 获赞 6 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章