java io流read方法基础用法

  • 一、FileInputStream
  • 二、字节数组读取
  • 三、循环读取

一、FileInputStream

首先使用FileInputStream创建一个读入流,读取的文件内容为abc三个字母

class readTest{public static void main(String[] args){//手敲没有处理异常try catch语句FileInputStream fis = new FileInputStream("f1.txt");
//read方法,每次只读一个字节,一个英文字母就是一个字节,所以每次只读到一个字母。
//read方法的返回值是int类型,就是实际的字节内容
int readdata = fis.read();
System.out.println(readdata);//本次读到的是97
System.out.println((char)readdata);//将97转换为字符a
System.out.println(String.valueOf((char)readdata));//得到字符串areaddata = fis.read();
System.out.println(readdata);//本次读到的是98
System.out.println((char)readdata);//将98转换为字符b
System.out.println(String.valueOf((char)readdata));//得到字符串breaddata = fis.read();
System.out.println(readdata);//本次读到的是99
System.out.println((char)readdata);//将99转换为字符c
System.out.println(String.valueOf((char)readdata));//得到字符串c//读取后关闭流
fis.close();}}

二、字节数组读取

//逐个读取字符的效率较低,所以改进为每次读2个字节的内容FileInputStream fis = new FileInputStream("f1.txt");
byte[] bytes = new byte[2];//new一个byte数组,长度为2,每次可以往里面最多读2个字节
int readcount = fis.read(bytes);//传入数组后,read的返回值为读到的字节数量,就是读到了几个
System.out.println(readcount);//输出结果为2,读到了2个字节的内容
System.out.println(new String(bytes));//将读到字节的数组转换成字符串:abreadcount = fis.read(bytes);//继续用2个长度的数组进行读取
System.out.println(readcount);//输出结果为1,读到了1个字节的内容。
System.out.println(new String(bytes));//将读到字节的数组转换成字符串:cb。
//虽然读到了1个字节,但新读到的字节只把数组中的历史的第一个字节给覆盖了,第二个字节还存在,所以数组转换为字符串后是cbreadcount = fis.read(bytes);//继续用2个长度的数组进行读取
System.out.println(readcount);//输出结果为-1,因为没有读取到内容。fis.close();

三、循环读取

//我们需要的是将读到的数字字节转换为字符串,上述方法显然没有做到,进行改进。FileInputStream fis = new FileInputStream("fis.txt");int readcount = null;
byte[] bytes = new byte[2];//改进1,使用读取不到内容返回-1的特征进行循环读取
while((readcount = fis.read(bytes)) != -1){System.out.println(readcount);
System.out.println(new String(bytes, 0, readcount));//从0开始,将数组转换为字符串,转换个数为readcount。}
fis.close();

JAVA IO流read方法基础使用相关推荐

  1. java io流 教程_Java基础教程:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:指的是从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列 ...

  2. Java基础教程:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

  3. java io flush_《文件传输基础——Java IO流》,对其中flush方法的思考

    在学习了<文件传输基础--Java IO流> 课程后,发现自己对flush()方法的调用有很多疑惑.在查询资料和自己看源码以及动手试验之后发现有以下几个特点.如有误也请大家指正出来,一切为 ...

  4. [重学Java基础][Java IO流][Exter.2]IO流中几种不同的读写方法的区别

    [重学Java基础][Java IO流][Exter.2]IO流中几种不同的读写方法的区别 Read 读入方法 read(): 一般是这种形式 public int read() 1.从流数据中读取的 ...

  5. Java基础17:Java IO流总结

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a724888/article/details/80201802 这位大侠,这是我的公众号:程序员江湖 ...

  6. java io流的学习总结~~

    java io流的学习总结~~ 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类, ...

  7. java IO流详解及特性

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  8. JAVA IO流(韩顺平)

    目录 一.文件 1.1 什么是文件 1.2 文件流 二.常用的文件操作 2.1 创建文件对象相关构造器和方法 2.1.1 代码实现 2.2 获取文件的相关信息 2.2.1 代码实现 2.2.2 相对路 ...

  9. java byte char io流_一文带你看懂JAVA IO流,史上最全面的IO教学

    原标题:一文带你看懂JAVA IO流,史上最全面的IO教学 一.IO流是什么 惯例引用百科的回答 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符 ...

最新文章

  1. SQL性能--left join和inner join的运行速度与效率
  2. 笔记1——C++多态与Java多态的异同
  3. 贪婪算法近似集合覆盖问题的解
  4. mysql bin oct_python 讲解进制转换 int、bin、oct、hex
  5. 第4章 旋转的圆弧(《Python趣味创意编程》教学视频)
  6. 修改JBoss-7.1.1 http访问端口并取消JBoss内网访问限制
  7. 新安装的mysql设置密码
  8. 基础:用android开发的ASCII码转换器
  9. 训练GAN的16个trick
  10. 论文摘要翻译,多语言纯人工翻译
  11. 专硕计算机考研英语一还是二,学硕只会考英语一?专硕只会考英语二?
  12. 星期零参展FHC,推出新品“Pastrami”和“微笑乐摇杯”,引爆植物肉潮流
  13. Oracle 调优确定存在问题的SQL
  14. 某宝付费买的价值上万的60G的Python学习资源,0基础轻松赚钱到手软,请低调使用,禁止外传~...
  15. GICv3_LPI机制
  16. java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
  17. 3轮全向轮正解---41
  18. uniapp发布h5和小程序样式或者一些其他问题
  19. 个人博客、开源文档的建站神仙组合 Vercel + Docusaurus
  20. Vs Cood更新失败

热门文章

  1. Android开发解决加载图片OOM问题(非常全面 兼顾4 0以下系统)(by 星空武哥)
  2. php抽奖算法,php抽奖算法
  3. Host 、Origin、 Referer的区别,Origin是跨域特有的属性
  4. Android相机Camera基础
  5. ABAQUS复合材料
  6. Java读取文件夹下的指定类型的文件(包含子文件夹)
  7. 最全解决 PKIX问题方案:sun.security.validator.ValidatorException: PKIX path building failed:
  8. C#创建类库并调用类库(VS2019)
  9. 生活随记-防蚊子咬的办法
  10. 象棋c语言算法,中国象棋的算法是怎样的?