FileInputStream 读取文件内容「建议收藏」

FileInputStream 读取文件内容「建议收藏」publicclassTest{publicstaticvoidmain(String[]args)throwsIOException{finalStringpath="D:/1.txt"; //1、得到数据文件 Filefile=newFile(path); //2、建立数据通道 FileInputStreamfile…

大家好,又见面了,我是你们的朋友全栈君。

public class Test {
    public static void main(String[] args) throws IOException {
        final String path = "D:/1.txt";
	//1、得到数据文件
	File file = new File(path); 
	//2、建立数据通道
	FileInputStream fileInputStream = new FileInputStream(file);   
	byte[] buf = new byte[1024];  
	int length = 0;
	//循环读取文件内容,输入流中将最多buf.length个字节的数据读入一个buf数组中,返回类型是读取到的字节数。
	//当文件读取到结尾时返回 -1,循环结束。
	while((length = fileInputStream.read(buf)) != -1){   
	    System.out.print(new String(buf,0,length));
	}
	//最后记得,关闭流
	fileInputStream.close();
    }
}

读取结果:

FileInputStream 读取文件内容「建议收藏」

 

FileInputStream类的其他常用方法:

注:以下代码的输出均以上面的1.txt文件为例。

1、available()  

返回类型: int

作用:返回下一次对此输入流调用的方法可以不受阻塞地从此输入流读取(或跳过)的估计剩余字节数。即输入流中当前的字节数。

System.out.println(fileInputStream.available());

输出:10 

2、skip(long n)

返回类型:long

作用:从输入流中跳过并丢弃n个字节的数据

System.out.println(fileInputStream.skip(4));

输出:4

跳过前面4个字节,所以读取到的数据为: ,世界(一个汉字等于两个字节)

FileInputStream 读取文件内容「建议收藏」

3、read()

返回类型:int

作用:从输入流中读取一个数据字节

System.out.println(fileInputStream.read());

输出:196

4、read(byte[] b,int off,int len)

返回类型:int

作用:从输入流中读取len个字节的数据到byte数组中,数据存放在byte数组中从off开始后的len个空间内。

System.out.println(fileInputStream.read(buf,3,4));
System.out.println(new String(buf,0,7));

输出: 从输入流中读取4个字节数据,存放到buf数组的 3,4,5,6个空间里,所以在输出的时候,buf前3个空间为空,输出□,后面4个空间输出对应的值:你好。

FileInputStream 读取文件内容「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131704.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu16.04 下 卸载CUDA9.1

    ubuntu16.04 下 卸载CUDA9.1网上很多教程删除都全安装其他还会出错在这把它删除,在命令行中输入sudoapt-getremovecuda*sudoapt-getremove–purgecuda*sudoapt-getupdate然后在目录切换到/usr/local/下cd/usr/local/sudorm-rcuda-9.1搞定啦可以重新安装其他版本啦…

    2022年6月16日
  • 什么是泛型,怎么使用泛型分析

    什么是泛型,怎么使用泛型分析1、泛型1:什么是泛型?泛型就是广泛的类型,也是一种数据类型,而这种数据类型可以是任意类型,编写过程中当中不能确定类型,创建对象时必须指定具体类型,不指定也可以,但是会出现一些错误。泛型是编译器行为,只能在编译期有效,如果能够跨过编译器,那么泛型就没有任何意义了。2、泛型类怎么定义泛型类?在类后面加<&g…

    2022年6月22日
  • matlab矩阵除法「建议收藏」

    matlab矩阵除法「建议收藏」matlab中除法有四种,作除:\ .右除:/ ./对于标量的运算/与./用法一致,a/b或a./b表示a除以b\与.\用法一致,a\b或a.\b表示b除以a对于矩阵运算/:a/b表示矩阵a乘矩阵b的逆矩阵,与a*inv(b)一致\:a\b表示矩阵a的逆矩阵乘矩阵b,与inv(a)*b一致./:a./b表示矩阵a中的每个元素除矩阵b中的相对应的元素.\:a.\b表示矩阵b中的每个元素除矩阵a中的相对应的元素…

    2022年6月29日
  • ffmpeg opencv_ffmpeg -q:v

    ffmpeg opencv_ffmpeg -q:v最直接的区别就是av_freep()会在av_free()的基础上,把传入的指针再置为NULL。FFmpeg源代码:av_free()voidav_free(void*ptr){#if

    2022年8月6日
  • anaconda安装opencv(whl文件)

    anaconda安装opencv(whl文件)我用pipinstall和condainstall的方法都安装不上去,都失败了,找了很多原因都没办法解决。没办法,只能尝试一下用第三方包whl文件安装下,因为原来没有用过这个方法,也不知道难不难,小心的去试了一下,没想到非常的容易!而且清华大学opencvpython库里的whl文件下载速度非常快(几十秒),比我之前在别的地方找的whl文件快多了。没安装上opencv或其他库的小伙伴,…

    2022年5月22日
  • pycharm如何调试代码_pycharm怎么分段运行代码

    pycharm如何调试代码_pycharm怎么分段运行代码最全Pycharm教程(1)——定制外观  最全Pycharm教程(2)——代码风格  1、准备工作  (1)Python版本为2.7或者更高版本  (2)已经创建了一个python工程并且添加了内容,具体参考: GettingStartedtutorial  2、第一步——运行代码  打开之前编写的Solver.py文件,在编辑框中右键,选

    2022年8月27日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号