欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2021-04-05 10:11:07|栏目:JAVA代码|点击:

全面了解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 GUI实现学生图书管理简单实例

栏    目:JAVA代码

下一篇:JVM的7种垃圾回收器(小结)

本文标题:全面了解java byte数组与文件读写

本文地址:http://www.codeinn.net/misctech/95051.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有