Java中FileInputStream使用
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;/*FileInputStreamTest 文件字节输入流 任何文件都可以采用这个流读取*/
/*字节输入流,是从硬盘向内存中读入*/
public class FileInputStreamTest {public static void main(String[] args) {/*为什么在这个地方声明? 为了方便将流关闭*/FileInputStream fis =null;try {fis = new FileInputStream("E:\\IDEA\\Java\\StudentTwo\\src\\IOTest\\JavaTest.txt");/*用字节数组,减少了内存和硬盘的交互,提高了运行效率一次最多读取bytes.length个字节*/byte[] bytes = new byte[4];int readCount=0;/*readCount是-1时,说明已经读完了*//* fis.read(bytes)的返回值是读取到的字节的数量,而且返回的是字节的ascll码*/while( (readCount= fis.read(bytes)) !=-1){/*读到多少个,就转换输出多少个,不会出现重复读取的问题*/System.out.println( new String(bytes,0,readCount));/*String(byte[] bytes, int offset, int length)构建了一种新的 String通过解码指定的字节数组使用平台的默认字符集。*/}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally {if(fis !=null){try {fis.close();} catch (IOException e) {e.printStackTrace();}}}}
}
下面是文件的内容以及路径
程序最终结果:
另外:FileInputStream类中其他比较重要的方法
①int available( ) 返回流中剩余的没有读到的字节数量
②long skip(long n ) 跳过几个字节
根据第一个方法,我们可以在小文件中使用,做到一次性读完小文件,但是大文件中就不适合
/*获取剩余没有读到的字节,其实在这里就是总字节*/
byte[] bytes = new byte[fis.available()];
int readCount = fis.read(bytes);
System.out.println(new String(bytes));
Java中FileInputStream使用相关推荐
- java中FileInputStream和OutputStream解析
FileInputStream和FileOutputStream分别表示读写文件数据流,前者是将文件数据读取到内存中,后者表示将内存中的数据写入到文件中. 1.FileInputStream File ...
- Java中FileInputStream和FileOutputStream类实现文件夹及文件的复制粘贴
基本思路就是边搜索边复制,这里用的是广度搜索(BFS) import java.io.BufferedInputStream; import java.io.BufferedOutputStream; ...
- fileinputstream自定义类序列化和反序列化_Rest Assured篇:Java中的序列化和反序列化...
点击上方蓝字设为星标 每天傍晚伴你一起成长! Java 中的序列化和反序列化是一个重要的编程概念.它适用于所有主要的编程语言.在本章中,我们将尝试在Java语言的上下文中理解此概念.在本章的最后,我们 ...
- fileinputstream_从Java中的FileInputStream读取字节
以下示例显示了如何从Java中的FileInputStream读取字节. import java.io.File;import java.io.FileInputStream;public class ...
- java 流的概念_举例讲解Java中的Stream流概念
1.基本的输入流和输出流 流是 Java 中最重要的基本概念之一.文件读写.网络收发.进程通信,几乎所有需要输入输出的地方,都要用到流. 流是做什么用的呢?就是做输入输出用的.为什么输入输出要用&qu ...
- java中showconfirmdialog_Java小游戏之连连看
连连看大家应该都玩过,不多说直接上一个做好的界面截图吧,所有的功能都在上面的,要做的就只是如何去实现它们了. 差不多就是这个样子.先说一下大致的思路吧.首先编写基本的界面:把什么按钮啊,表格啊什么的都 ...
- java中基本字节输出流类是_java中基本输入输出流的解释
网络程序的很大一部分是简单的输入输出,即从一个系统向另一个系统移动字节.字节就是字节,在很大程度上,读服务器发送的数据与读取文件没什么不同:向客户传送数据与写入一个文件也没有什么区别. Java中输入 ...
- java clob 释放_在Java中处理CLOB字段
[字段类型:blob,clob,nclob 说明:三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频.视频等非文本文件� ...] 1.or ...
- java中mypoiexception,java - 如何使用Poi获取Java中单元格的数据验证源? - 堆栈内存溢出...
此问题包含多个不同的问题. 首先,我们需要获取工作表的数据验证,然后为每个数据验证获取数据验证所适用的Excel单元格范围. 如果该单元格位于该单元格范围之一中,并且数据验证是列表约束,则进行进一步处 ...
最新文章
- GPU运行Tensorflow详细教程及错误解决
- 微信小程序----调用用户信息
- Leetcode: 113. Path Sum II
- Cookie的简单实用
- 东芝硬盘插入台式机后滴滴响
- checkbox已设置为checked--true-但不勾选问题解决方法(只第一次勾选有效)
- 如何设计一个权限系统
- c++ list排序_排序(二)交换排序
- Java多线程同步数据库,源码+原理+手写框架
- Linux下Grub命令配置详解
- c语言ds12c887,ds12c887引脚图 DS12C887中文资料.doc
- GdiPlus使用方法
- 广告投放市场推广渠道大全与效果分析比较
- java hdporn,docs/java/concurrent/SynBottom.md · wt1814/wt-note - Gitee.com
- C语言——快速取以2为底x的对数
- VS2003安装方法----转载
- 计操实验 多级反馈队列C语言
- 中国石油大学《微观经济学》第一次在线作业
- 什么是ASP.NET
- 一个学习小组有5个人,每个人有三门课的考试成绩。求全组分科的平均成绩和各科总平均成绩。