读取文件字节流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. 几个小实践带你快速上手MindSpore

    摘要:本文将带大家通过几个小实践快速上手MindSpore,其中包括MindSpore端边云统一格式及华为智慧终端背后的黑科技. MindSpore介绍 MindSpore是一种适用于端边云场景的新型 ...

  2. CSS 书写禅机

    这是未来的趋势所向,如是我行. 注意:原文发表于 2017-9-6,随着框架不断演进,部分内容可能已不适用. CSS 日渐惹人憎恶. 究其原因颇多,归根结底,皆因 CSS 给人的感觉总是飘渺迷蒙.变幻 ...

  3. SpringBoot(十一): Spring Boot集成Redis

    1.在 pom.xml 中配置相关的 jar 依赖: <!-- 加载 spring boot redis 包 --> <dependency> <groupId>o ...

  4. 后端程序员之路 44、Redis结合protobuf

    protobuf序列化速度不错,在往Redis里存对象时,用protobuf序列化可以节省内存,省去写序列化反序列化代码的工作. google protocol buffer 与 redis 结合使用 ...

  5. JPEG解码——(5)反量化和逆ZigZag变换

    本篇是该系列的第五篇,承接上篇huffman解码,介绍接下来的两个步骤--反量化和逆zigzag变换,即IDCT前的两个步骤. 需要说明的是,这两个步骤可以颠倒,本人的实现是,先反量化,再逆ZigZa ...

  6. jquery动态赋值id与动态取id方法

    $("#" + packageNameId + "").text(packageName); $("#" + packageNumId + ...

  7. 31Si2CrMoB

    转: 31Si2CrMoB 31Si2CrMoB是推土机用钢的一种耐磨钢:此钢有很高的强度和韧度,适合于推土机XX.31Si2CrMoB冶炼技术工艺:电弧炉冶炼,初轧开坯.钢板轧制:可√189-170 ...

  8. FutureTask源码分析(JDK7)

    总览 A cancellable asynchronous computation. This class provides a base implementation of {@link Futur ...

  9. HDOJ-1754(线段树+单点更新)

    I Hate It HDOJ-1754 这道题是线段树简单的入门题,只是简单考察了线段树的基本使用,建树等操作. 这里需要注意的是输入要不使用scanf要不使用快速输入. 这里的maxs数组需要开大一 ...

  10. python工业互联网应用实战7—业务层

    本章我们演示代码是如何"进化"的,实战的企业日常开发过程中,系统功能总伴随着业务的不断增加,早期简单的代码慢慢的越来越复杂,敏捷编程中的"禅"--简单设计.快速 ...