欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-13 14:20:12
全面了解java byte数组与文件读写 import java.io.bytearrayoutputstream; import java.io.file;...

全面了解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数组与文件读写就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。