Java基础知识之FileInputStream流的使用
在Java中,FileInputStream(字节流)是用于读取文件的流类之一。该类继承了InputStream类,并且提供了基本的方法来读取数据。
前置知识
在使用FileInputStream类之前,需要掌握以下Java基础知识:
- 输入/输出流(I/O Stream)
- Java中的文件操作概念,如文件路径等
- Java中异常的处理概念及相关语法
FileInputStream的构造函数
FileInputStream有两种不同的构造函数,它们的区别如下:
- FileInputStream(File file):可以根据指定的File对象创建一个FileInputStream对象
- FileInputStream(String name):可以根据指定的文件路径(字符串)来创建一个FileInputStream对象
示例代码如下:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputStreamDemo {
public static void main(String[] args) throws IOException {
File file = new File("test.txt");
FileInputStream fis = new FileInputStream(file);
fis.close();
FileInputStream fis2 = new FileInputStream("test.txt");
fis2.close();}
}
FileInputStream读取文件
FileInputStream的常用方法有以下几种:
- int available():返回可以读取的剩余字节数
- void close():关闭此输入流并释放与该流关联的所有系统资源
- int read():从此输入流中读取一个字节的数据
- int read(byte[] b):从此输入流中将最多b.length个字节的数据读入一个字节数组
- int read(byte[] b, int off, int len):从此输入流中将最多len个字节的数据读入一个字节数组
示例代码如下:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputStreamDemo2 {
public static void main(String[] args) throws IOException {
File file = new File("test.txt");
FileInputStream fis = new FileInputStream(file);
int c;
while ((c = fis.read()) != -1) {
System.out.print((char) c);
}
fis.close();
byte[] bytes = new byte[(int) file.length()];
FileInputStream fis2 = new FileInputStream(file);
fis2.read(bytes);
fis2.close();
System.out.println(new String(bytes));
}
}
以上代码使用了不同的方法来读取文件的内容,并将结果输出到控制台。第一个while循环会读取每个字节并使用强制类型转换将其转换为字符,直到读到文件末尾的标志-1。第二个代码段读取了整个文件,并将读取到的字节存储在一个字节数组中,最后使用String类将结果转换为字符串并输出到控制台上。
总结
在Java中,使用FileInputStream可以轻松地读取文件内容。上述示例中展示了如何使用FileInputStream读取文件。此外,还可以使用BufferedReader等高级读取方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java基础知识之FileInputStream流的使用 - Python技术站