java学习 -- IO(2)-- 字节流文件输入流
前言
文件输入流:就是将数据从 文件 到 内存
文件------>内存
一、单个字节的使用
FileInputStream使用方法 同FileOutputStream类似
使用步骤:
1.创建一个FileInputStream对象,读取数据源
2.调用FileInputStream对象的方法read(),读取文件
3.释放资源close()
代码如下(示例):
public static void main(String[] args) throws IOException {
FileInputStream fis=new FileInputStream("E:\\aaaa.txt");
//读取一个字节
// int len = fis.read();
// System.out.println(len);
/*
读取所有字节使用while()循环
while ((len=fis.read())!=-1)
*/
int len=0;
while ((len=fis.read())!=-1){
// System.out.print(len);//9798991001019910010410110810811195119111114108100
//转变为char类型
System.out.print((char) len); //abcdecdhello_world
}
fis.close();
}
二、一次读取多个字节
输入流一次读取多个字节的方法
使用步骤:
1.定义一个byte[]类型的数组,大小通常设置为1024字节,来缓冲数据
2.使用while((len=fis.read(bytes))!=-1){}循环读取数据
3.使用new String[bytes],来输出到控制台
代码如下(示例):
public static void main(String[] args) throws IOException {
FileInputStream fis=new FileInputStream("E:\\aaaa.txt");
byte[] bytes=new byte[1024];
int len=0;
while ((len=fis.read(bytes))!=-1){
System.out.println(new String(bytes,0,len));//abcdecdhello_world
}
fis.close();
}
注意事项:
1.字节输入输出需要抛出IO异常
2. 使用字节流不能输入输出中文字符。若输入输出中文,需要使用下一届的字符流