Java FileInputStream 应用及感悟

构造方法

构造方法的作用:
1)产生一个对象。
2)对对象进行初始化。

1)FileInputStream(File file)
通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
注:此处传递的是文件对象,可以提前创建文件对象,传入。

	File file = new File("test.txt");
	FileInputStream fis = new FileInputStream(file);

也可以在这里直接new 一个文件对象 。

	FileInputStream fis = new FileInputStream(new File("test.txt"));

2)FileInputStream(String name)
通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
注: 直接传递文件名字。

	FileInputStream fis = new FileInputStream("test.txt");

字节读入

1)单个字节读入:
read() 方法
从此输入流中读取一个数据字节。
返回下一个数据字节;如果已到达文件末尾,则返回 -1。
2 )多个字节读入:
read(byte[] b, int off, int len)
从此输入流中将最多 len 个字节的数据读入一个 byte 数组中。
b - 存储读取数据的缓冲区。
off - 目标数组 b 中的起始偏移量。
len - 读取的最大字节数。
注:数组必须是 byte类型。

		byte[] bytes = new byte[1024];
        int len = 0;
        while((len = fis.read(bytes))!=-1){
            System.out.print(new String(bytes,0,len));
        }

此处将byte类型转换为字符串,便于查看。
灵活运用String的构造方法将byte类型进行转化

String 构造方法

String(byte[] bytes, int offset, int length)
通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于该子数组的长度。

bytes - 要解码为字符的 byte
offset - 要解码的第一个 byte 的索引
length - 要解码的 byte 数

最后

以上都要抛出异常,一些方法抛出的异常可能不同,建议直接抛出 IOException异常,因为其他的异常都异常与此异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值