Java基础之文件字节输入流(FileInputStream)

1.创建文件输入流

有两个构造方法:

1.FileInputStream file = new FileInputStream ("hello.txt");

2.File f = new File("hello.txt");

  FileInputStream file = new FileInputStream (f );

要注意构造的时候要抛出异常,不过各种编辑器都会有提示的

看个人习惯可以选一个.

2.使用输入流读取文件

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;

public class wenjian_inputstream {

	public static void main(String[] args) throws Exception {
		//InputStreamReader
		char[] a = new char[1024];//设置每次读取的字节
		int n ;//设置循环结束符
		try {
			InputStreamReader isr = new InputStreamReader(new FileInputStream("hello.txt"), "utf-8");

			while ((n = isr.read(a)) != -1) {//设置每次读取的字节放到char a[]数组中,直到文件末尾返回-1
				String s = new String(a, 0, n);//n不可以写成固定数字,不然读不完整或超出
				System.out.println(s);
			}

		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		//FileInputStream
		byte[] z = new byte[100];//设置每次读取的字节,不知道为什么设置小于100的报错
		try {

			FileInputStream file = new FileInputStream("hello.txt");
			while ((n = file.read(z, 0, 100)) != -1) {//设置每次读取的字节从中间0开始放到byte z[]数组中,直到文件末尾返回-1
				String s = new String(z, 0, n);//n不可以写成固定数字,不然读不完整或超出
				System.out.print(s);

			}
			file.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	

}

其中第一个是用InputStreamReader来进行读取的字节,可以对文件进行转码变成utf-8,而要注意的是char[] a = new char[1024];char【】里面的数字设置为1的时候就会一个一个的进行读取,效果图如下

而设置为1024就会一次性读取1024个字节.

其中第二个是用FileInputStream来进行读取的字节,和第一个大同小异.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值