读取文件字节流read()方法(三)

  • int read(byte[] bytes) 返回值为int类型, 该int类型数据表示每一次读取到的有效字节数,也就是读取到了几个字节, 一个都没读取到返回-1

  • 将整个byte[]数组转换为字符串: String content=new String(bytes);

  • 将byte[]数组的一部分转换为字符串 new String (byte[],int offset , length) : String content1=new String(bytes,0,i3); // 转换bytes数组, 从下标0开始, 转换i3个长度。

  • 如果要读取的数据大于byte[]数组的长度,那么后面读取到的数据就会覆盖之前读取到的数据

  • 代码示例:

    
    
         import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException; public class IOTest03 {
    public static void main(String[] args) { //创建文件路径变量
    String fileName="D:\\TestFile\\JavaTestFile\\IoTest.txt"; //创建文件字节输入流
    FileInputStream fis=null;
    try {
    fis= new FileInputStream(fileName); //准备一个byte[]数组
    byte[] bytes=new byte[3]; //开始读取字节流数据
    //通过 int read(byte[] bytes)读取数据 每次读取多个字节存储到byte数组中
    //其中 int i 表示读取到了几个字节,一个字节都没有读取到返回-1
    int i1=fis.read(bytes); //ABC
    int i2=fis.read(bytes); //DEF
    int i3=fis.read(bytes); //GEF
    int i4=fis.read(bytes); //GEF
    int i5=fis.read(bytes); //GEF
    int i6=fis.read(bytes); //GEF
    int i7=fis.read(bytes); //GEF //将byte[]数组转换为字符串
    String content=new String(bytes); //将byte[]数组的一部分转换为字符串 new String(byte[],int offset , length)
    String content1=new String(bytes,0,i3); //从下标0开始,转换i3长度 //输出获得i值
    System.out.println(i1); //3
    System.out.println(i2); //3
    System.out.println(i3); //-1
    System.out.println(i4); //-1
    System.out.println(i5); //-1 //输出byte[]数组所转化成的字符串
    System.out.println(content); // GEF
    System.out.println(content1); // G } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    if(fis!=null){
    try {
    fis.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    } }
    }

Day16_94_IO_读取文件字节流read()方法(三)的更多相关文章

  1. Day16_94_IO_循环读取文件字节流read()方法(二)

    循环读取文件字节流read()方法 通过read()循环读取数据,但是read()每次都只能读取一个字节,频繁读取磁盘对磁盘有伤害,且效率低. import java.io.FileInputStre ...

  2. Day16_95_IO_循环读取文件字节流read()方法(四)

    循环读取文件字节流read()方法(四) 使用 int read(byte[] bytes) 循环读取字节流数据 import java.io.FileInputStream; import java ...

  3. Day16_93_IO_FileInputStream_读取文件字节流read()方法(一)

    读取文件字节流read()方法 * 文件字节输入流:按照字节方式读取文件 * java.io.* java.io.InputStream; java.io.FileInputStream; read( ...

  4. C++/Php/Python/Shell 程序按行读取文件或者控制台方法总结。

    C++/Php/Python/Shell 程序按行读取文件或者控制台方法总结. 一.总结 C++/Php/Python/Shell 程序按行读取文件或者控制台(php读取标准输入:$fp = fope ...

  5. PHP读取文件的多种方法

    1.传统的方法 fopen, fclose feof:file.end of file 例子: $file_handle = fopen("c:\\myfile.txt", &qu ...

  6. PHP读取文件的常见方法

    整理了一下PHP中读取文件的几个方法,方便以后查阅. 1.fread string fread ( int $handle , int $length ) fread() 从 handle 指向的文件 ...

  7. PHP读取文件内容的方法

    下面我们就为大家详细介绍PHP读取文件内容的两种方法. 第一种方法:fread函数 <?php $file=fopen('1.txt','rb+'); echo fread($file,file ...

  8. python3读取文件指定行的三种方案

    技术背景 考虑到深度学习领域中的数据规模一般都比较大,尤其是训练集,这个限制条件对应到实际编程中就意味着,我们很有可能无法将整个数据文件的内容全部都加载到内存中.那么就需要一些特殊的处理方式,比如:创 ...

  9. JAVA 解决 SpringBoot 本地读取文件成功,打包后读取文件失败的方法

    SpringBoot 的日常开发中,我们会发现当我们使用  InputStream input = getClass.getResource(path) 读取文件或者模板时,在 ida 中运行 测试的 ...

随机推荐

  1. 解决springBoot上传大文件异常问题

    上传文件过大时的报错: org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size ex ...

  2. 用脚手架搭建一个 vue 项目

    一.需要安装 node 环境 下载地址: https://nodejs.org/en/ 中文网: http://nodejs.cn/ 安装后为方便国内使用,可以把 npm 换成 taobao 的 cn ...

  3. 面试官:不会sql优化?出门右转顺便带上门,谢谢

    导读 作为一个后端程序员,数据库这个东西是绕不开的,特别是写sql的能力,如果您参加过多次面试,那么一定会从面试复盘中发现面试官总是会考察到sql优化这个东西. 我在之前的多次面试中最常遇到的一个问题 ...

  4. C#中事件流程的简单理解

    C#中事件流程的简单理解 C#中事件基于委托,要理解事件要先理解委托,但是现在我还没想好怎么写委托,如果不懂委托可以先找找委托的文章 事件基于委托,为委托提供了一种发布/订阅机制 一上来就是这句话,很 ...

  5. 单元测试 - SpringBoot2+Mockito实战

    单元测试 - SpringBoot2+Mockito实战 在真实的开发中,我们通常是使用SpringBoot的,目前SpringBoot是v2.4.x的版本(SpringBoot 2.2.2.RELE ...

  6. 让JS代码Level提升的忍者秘籍(实用)

    本文章共2377字,预计阅读时间5-10分钟. 前言 没有前言. 你准备好成为同事眼中深藏不露.高深莫测.阳光帅气的前端开发了吗? 那就开始吧! 本文秉承宗旨:代码实用与逼格并存. 提升JS代码Lev ...

  7. SpringBoot Shiro 权限注解不起作用

    最近在学习springboot结合shiro做权限管理时碰到一个问题. 问题如下: 我在userRealm中的doGetAuthorizationInfo方法中给用户添加了权限,然后在Controll ...

  8. winnt.h

    winnt.h https://docs.microsoft.com/en-us/windows/win32/api/winnt/ /*++ BUILD Version: 0091 Increment ...

  9. 真会C#微信小程序的习题数据JSON文件下载链接

    完全没有精力去维护了,所以小程序停掉,集中精力做一件事. 链接: https://pan.baidu.com/s/1xL45KxDzR5oEQM6nwBA5rw 提取码: qv6n

  10. HarmonyOS三方件开发指南(15)-LoadingView功能介绍

    目录: 1. LoadingView组件功能介绍2. Lottie使用方法3. Lottie开发实现4.<HarmonyOS三方件开发指南>系列文章合集 1. LoadingView组件功 ...