Android(安卓)FileInputStream类的使用
FileInputStream类
1.FileInputStream类概述
继承关系:
java.io.FileInputStream->java.io.InputStream->java.lang.Object
实现接口:
Closeable
类的功能:
FileInputStream 从文件系统中的某个文件中获取输入字节。哪些文件可用取决于主机环境。
FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader。
2.类的属性和行为
(1) public void close() throws IOException
功能: 关闭此文件输入流并释放与此流有关的所有系统资源。
如果此流有一个与之关联的通道,则关闭该通道。
指定者:接口 Closeable 中的 close
覆盖: 类 InputStream 中的 close
抛出: IOException - 如果发生 I/O 错误。
(2) public int read() throws IOException
功能: 从此输入流中读取一个数据字节。如果没有输入可用,则此方法将阻塞。
指定者:类 InputStream 中的 read
返回: 下一个数据字节;如果已到达文件末尾,则返回 -1。
抛出: IOException - 如果发生 I/O 错误。
(3) public int read(byte[] b) throws IOException
功能:从此输入流中将最多b.length个字节的数据读入一个字节数组中。在某些输入可用前,此方法将阻塞
覆盖:类 InputStream 中的 read
参数:b - 存储读取数据的缓冲区
返回:读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。
抛出:IOException - 如果发生 I/O 错误。
(4) public int read(byte[] b, int off, int len) throws IOException
功能:从此输入流中将最多len个字节的数据读入一个字节数组中。在某些输入可用之前,此方法将阻塞。
覆盖:类 InputStream 中的 read
参数:b - 存储读取数据的缓冲区。
off - 数据的起始偏移量。
len - 读取的最大字节数。
返回:读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。
抛出:IOException - 如果发生 I/O 错误。
3.常见错误
在eclipse下使用FileInputStream,提示找不到指定文件
代码:
filename = "abc.txt" ;
FileInputStream fis = new FileInputStream(filename);
错误显示:
java.io.FileNotFoundException: dbconfig.properties (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.
at java.io.FileInputStream.
解决方法:
因为eclipse下运行main程序时,eclipse会自动将发布目录作为其根目录,所以会提示找不到文件,将filename改为绝对目录即可
filename = "\sdcard\...\abc.txt" ;
更多相关文章
- 一款常用的 Squid 日志分析工具
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
- Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- Android(安卓)读取excel (支持 xls和xlsx)
- Android开发点滴(13) -- Android数据库随同Android应用一同发布