首页 > 其他 > 详细

FileInputStream 的读取操作

时间:2014-07-18 18:30:32      阅读:346      评论:0      收藏:0      [点我收藏+]

package xinhuiji_day07;

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

public class TestFileInputStream {

    /**
     * @param args
     * @throws IOException
     */
    public static void main(String[] args) throws IOException {
        
        // 1 ,先定义要操作的文件
        String str = File.separator;  //得到当前系统的盘符
        //String path = File.separator+"home"+File.separator+"han"+File.separator+"FileOutPutStream.txt";
        String path = str+"home"+str+"han"+str+"FileOutPutStream.txt";
        File file = new File(path);
        // 2,通过子类实例化父类
        InputStream in = null;
        in = new FileInputStream(file);
        
        //byte[] bytes = new byte[1024];//直接这样开辟空间的话,我们并不知道file的实际空间是多大,会造成占用大量内存的
                                       //的结果,我们可以通过File类先获得file的大小,再定义数组的大小
        
        byte[] bytes = new byte[(int) file.length()];  // 定义数组用于存储读到的数据
        
        // 3 读数据
        
        //第一种方法
//        int len = in.read(bytes);
//        System.out.println("向数组中写入的字符长度:"+len);
        
        //第二种方法
        for(int i = 0;i<file.length();i++){
            bytes[i] = (byte) in.read();
        }
        
        
        //第三种方法
        
//        String info = new String(bytes,0,len);
        String info = new String(bytes);
        System.out.println(info);
        // 4 。关闭输入流
        in.close();
    }

}
/////////////////////////////////////////////////////////////////////////////

 //第三种方法      。前两种方法都是知道file的长度,如果不知到file的长度就应该使用read()方法

byte[] bytes = new byte[1024];  
        int len = 0;//用于记录读到的字符个数
        
        int temp = 0;//用于记录in.read()的返回值
        //read()方法只有在读到文件末尾时返回值为-1
        while((temp = in.read()) != -1){
            bytes[len] = (byte) temp;
            len++;
        }

FileInputStream 的读取操作,布布扣,bubuko.com

FileInputStream 的读取操作

原文:http://www.cnblogs.com/siashan/p/3853381.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!