fileinputstream用法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
fileinputstream用法
FileInputStream是Java.io包中的一个类,用于从文件中读取数据。
它继承自java.io.InputStream类,并扩展了其功能,以便用于
操作文件。
使用FileInputStream,可以按字节的方式读取文件中的数据,包括文本文件、音频文件、视频文件等。
它提供了多个构造方法和方法,以方便用户进行文件读取操作。
以下是FileInputStream的一些常见的用法:
1.创建一个FileInputStream对象:
```java
FileInputStream fis = new FileInputStream("myfile.txt");
```
上述代码创建了一个名为myfile.txt的文件的输入流。
2.读取文件内容:
int data;
while((data = fis.read()) != -1) {
System.out.println((char) data);
}
```
此代码片段将逐个字节地读取文件的内容,并将其以字符形式打印出来。
read()方法返回文件中下一个字节的数据,直到文件结尾(-1)。
文件读取完毕后,需要关闭FileInputStream对象,释放相关资源:
```java
fis.close();
```
3.读取指定长度的字节:
byte[] buffer = new byte[1024];
int bytesRead;
while((bytesRead = fis.read(buffer)) != -1) {
//对读取到的字节进行处理
}
```
这里创建了一个大小为1024的字节数组作为缓冲区,read()方法从文件中最多读取1024个字节到该缓冲区中。
读取到的实际字节数存储在bytesRead中,可以用于进一步处理。
FileInputStream还提供了其他一些方法,如skip(),用于跳过指定数量的字节;available(),用于返回当前可读取的字节数等等。
值得注意的是,FileInputStream是用于读取字节流的,如果需要按字符的方式读取文本文件,可以使用FileReader
(InputStreamReader包装FileInputStream)或BufferedReader (BufferedInputStream包装FileInputStream)的方式来实现。
拓展:
FileInputStream还可以用于读取文件中的其他数据类型,如int,long,float等,只需根据对应的数据类型使用合适的read()方法读
取即可。
但需要注意的是,在读取不同数据类型时,需要按照约定的
字节顺序来正确解析数据。
可以使用DataInputStream (BufferedInputStream包装FileInputStream)来更方便地读取不同的
数据类型。
此外,FileInputStream也可以与其他I/O类结合使用,实现更复杂的操作。
例如,可以将FileInputStream与FileOutputStream结合
使用,实现文件的复制;可以将FileInputStream与ByteArrayOutputStream结合使用,将文件中的数据存储到内存中等等。