全面了解java byte数组与文件读写

 更新时间:2016年08月22日 10:41:26   投稿:jingxian  
下面小编就为大家带来一篇全面了解java byte数组与文件读写。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

全面了解java byte数组与文件读写

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileHelper {
<span style="white-space:pre">  </span>//第一种获取文件内容方式
  public byte[] getContent(String filePath) throws IOException {
    File file = new File(filePath);

    long fileSize = file.length();
    if (fileSize > Integer.MAX_VALUE) {
      System.out.println("file too big...");
      return null;
    }

    FileInputStream fi = new FileInputStream(file);

    byte[] buffer = new byte[(int) fileSize];

    int offset = 0;

    int numRead = 0;

    while (offset < buffer.length

    && (numRead = fi.read(buffer, offset, buffer.length - offset)) >= 0) {

      offset += numRead;

    }

    // 确保所有数据均被读取

    if (offset != buffer.length) {

      throw new IOException("Could not completely read file "
          + file.getName());

    }

    fi.close();

    return buffer;
  }
  
  //第二种获取文件内容方式
  public byte[] getContent2(String filePath) throws IOException
  {
    FileInputStream in=new FileInputStream(filePath);
    
    ByteArrayOutputStream out=new ByteArrayOutputStream(1024);
    
    System.out.println("bytes available:"+in.available());
    
    byte[] temp=new byte[1024];
    
    int size=0;
    
    while((size=in.read(temp))!=-1)
    {
      out.write(temp,0,size);
    }
    
    in.close();
    
    byte[] bytes=out.toByteArray();
    System.out.println("bytes size got is:"+bytes.length);
    
    return bytes;
  }
    //将byte数组写入文件
  public void createFile(String path, byte[] content) throws IOException {

    FileOutputStream fos = new FileOutputStream(path);

    fos.write(content);
    fos.close();
  }

}

以上这篇全面了解java byte数组与文件读写就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决使用mybatis取值,字段赋值错误的问题

    解决使用mybatis取值,字段赋值错误的问题

    这篇文章主要介绍了解决使用mybatis取值,字段赋值错误的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • java多态机制原理特点详解

    java多态机制原理特点详解

    在本篇文章里小编给大家分享的是关于java多态机制原理特点详解,有需要的朋友们可以跟着学习下。
    2020-02-02
  • SpringBoot集成Auth0 JWT的示例代码

    SpringBoot集成Auth0 JWT的示例代码

    本文主要介绍了SpringBoot集成Auth0 JWT的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • SpringSecurity自定义登录成功处理

    SpringSecurity自定义登录成功处理

    这篇文章主要为大家详细介绍了SpringSecurity自定义登录成功处理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • 详解java中各类锁的机制

    详解java中各类锁的机制

    这篇文章为大家总结了java中常见的锁(互斥锁、读写锁、公平锁与非公平锁等)的机制以及如何使用,文中示例代码讲解详细,需要的可以学习一下
    2021-12-12
  • Spring Boot实现文件上传的两种方式总结

    Spring Boot实现文件上传的两种方式总结

    应用开发过程中,文件上传是一个基础的扩展功能,它的目的就是让大家共享我们上传的文件资源,下面这篇文章主要给大家总结介绍了关于Spring Boot实现文件上传的两种方式,需要的朋友可以参考下
    2023-05-05
  • Kotlin与Java 泛型缺陷和应用场景详解

    Kotlin与Java 泛型缺陷和应用场景详解

    这篇文章主要为大家介绍了Kotlin与Java 泛型缺陷和应用场景详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Maven 常用插件的详细整理

    Maven 常用插件的详细整理

    这篇文章主要介绍了Maven 常用插件的详细整理的相关资料,这里整理了maven的常用插件需要的朋友可以看下,需要的朋友可以参考下
    2017-08-08
  • Mybatis List列表In查询实现的注意事项说明

    Mybatis List列表In查询实现的注意事项说明

    这篇文章主要介绍了Mybatis List列表In查询实现的注意事项说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java实现InputStream的任意拷贝方式

    Java实现InputStream的任意拷贝方式

    这篇文章主要介绍了Java实现InputStream的任意拷贝方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10

最新评论