字节输入流读写文件【InputStream、FileInputStream】
字节输入流读取文本文件
1.InputStream基类
作用:将文件中的数据输入到内部储存器(内存)中。
※读取数据的常用方法
方法名称 |
说明 |
int read() |
读取一个字节数据 |
int read(byte[] b) |
将数据读取到字节数组中 |
int read(byte[]b , int off , int len) |
从输入流中读取最多len长度的字节,保存到字节数组b中,保存的位置从off开始 |
void close() |
关闭输入流 |
int available() |
返回输入流读取的估计字节数 |
※ 无参的read()方法从输入流读取1个8位的字节,把它转换为0~255之间的整数。
※ 有参的两个read()方法从输入流批量读取若干个字节。在从文件或键盘读取数据时,采用read(byte[] b)或 read(byte[] b,int off, int len)方法可以减少进行物理读文件或键盘的次数,提高输入或输出操作效率。
2.字节输入流FileInputStream类
常用构造方法:
1 FileInputStream(File file【文件数据源】)
File file=new File (“C:\\test.txt”);
FileInputStream fileObject=new FileInputStream (file);
2 FileInputStream (String name)
InputStream fileObject=new FileInputStream (“C:\\test.txt”);
使用FileInputStream读取文件步骤:
(1) 引入相关类(IOException, InputStream, FileInputStream)
Import java.io.*;
(2) 创建一个文件输入流
InputStream fileObject=new FileInputStream (“C:\\test.txt”);
(3) 利用文件输入流的方法读取文本文件的数据
fileObject .available (); //可读取的字节数
fileObject .read (); //读取文件的数据
(4) 关闭文件输入流对象
fileObject .close ();
★ 注意:
※ read()方法返回整数,若读取的是字符串,则需强制转换。
System .out .println ((char)date+” ”);
※ 流对象使用完毕后需要关闭。