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 读取文件内容「建议收藏」

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 一个导致502 bad gateway的原因[通俗易懂]

    一个导致502 bad gateway的原因[通俗易懂]最近一段时间系统经常出现502badgateway,一开始没在意,以为是偶发现象,后来越来越多改了nginx配置,问题没有解决观察日志,出现502badgateway时系统并没有出异常,猜测可能系统负载较大,把所有定时任务迁移到另外一台服务器,问题仍然没有解决最后通过Jconsole监控JVM发现每5分钟的第0秒,线程和内存曲线都会降为0,这个时候正好是出

  • [MicroPython]TurniBit开发板DIY自动窗帘模拟系统

    [MicroPython]TurniBit开发板DIY自动窗帘模拟系统一、准备工作üTurnipBit开发板一块ü下载数据线一条ü微型步进电机(28BYJ-48)一个ü步进电机驱动板(ULN2003APG)一块ü光敏传感器一个üTurnipBit扩展板一块ü接入网络的电脑一台ü在线可视化编程器<http://turnipbit.com/PythonEditor/edit…

  • linux 网口_网络管理员网址

    linux 网口_网络管理员网址Linux12:网络管理文章目录一.网络接口名称规则1.认识网卡2.修改网卡配置文件3.主机名4.网络测试工具一.网络接口名称规则计算机与外界通信的前提是:有网卡(网络适配器NAT)注意:虚拟机的总内存,不能超过真机服务器和客户机:谁提供服务,谁就是服务器1.认识网卡#ls /etc/sysconfig/network-scripts/补充:网络管理器NetworkManager,动态网络的控制器与配置系统,它用于当网络设备可用时保持设备和连接开启并激活查看该服务的运行状况:#

  • leetcode-149. 直线上最多的点数(map+判重)[通俗易懂]

    leetcode-149. 直线上最多的点数(map+判重)[通俗易懂]给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。示例 1:输入: [[1,1],[2,2],[3,3]]输出: 3解释:^|| o| o| o +————->0 1 2 3 4示例 2:输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出: 4解释:^|| o| o o| o| o o+—–

  • 如何彻底删除卸载JDK?「建议收藏」

    如何彻底删除卸载JDK?「建议收藏」最近更新了jdk版本,当运行的时候出现错误couldnotopen’D:\jdk1.8.0_171\jre1.8.0_171\lib\amd64\jvm.cfg’主要是因为上个版本没有卸载干净和,jdk与jre安装的位置发生了冲突!解决jdk彻底删除的问题:1.在电脑的控制面板中卸载(基本的办法)。2.采用360安全卫士卸载,有风险(注册列表可能未删干净)3.在运行中…

  • GSLB调度服务原理

    GSLB调度服务原理GSLB,全局负载均衡(GlobalServerLoadBalancing),主要的目的是在整个网络范围内将用户的请求定向到最近的节点(或者区域)。是对物理集群的负载均衡,不止是简单的流量均匀分配,还会根据应用场景的不同来制定不同的策略。本文将讨论GSLB的几种实现,并介绍调度服务实现的大体情况。

发表回复

您的电子邮箱地址不会被公开。

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