java实现读取文件返回字节数组

java实现读取文件的内容返回字节数组
1.代码如下所示:

public class FileUtil {
	/**
	  * 方法功能:读取文件内容返回字节流 
	  * @param String fname
	  * @return byte[]
	  * */
	  public static byte[] readFile(String fname){
	    InputStream fis = null;
	    ByteArrayOutputStream baos = null;
	    try{
	      baos = new ByteArrayOutputStream();
	      fis = new FileInputStream(fname);
	      byte[] ch = new byte[1024];
	      int readLen = 0;
	      while ((readLen = fis.read(ch)) != -1) {
	        baos.write(ch, 0, readLen);
	      }
	      return baos.toByteArray();
	    }catch (Exception e){
	      e.printStackTrace();
	    }
	    finally{
	      try{
	        if (fis != null) {
	          fis.close();
	        }
	      }catch (IOException e) {}
	      try{
	        if (baos != null) {
	          baos.close();}
	      }catch (IOException e) {}
	    }
		return null;
	  }
      public static void main(String[] args) throws UnsupportedEncodingException {

        String filename = "E:\\test\\system\\test.txt";//注意修改为自己的文件名
        FileUtil fileUtil = new FileUtil();
        byte[] fileByte = fileUtil.readFile(filename);
		String fileStr = new String(fileByte,"utf-8");//注意字符集写入与读取保持一致。
        System.out.println(fileStr);		
	}
}
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java可以通过读取文件字节数组来判断文件的格式。每种文件格式都有一定的文件头,即文件的前几个字节是特定的标识符或特征码,通过判断文件的头部字节可以确定文件的格式。 具体的判断方法如下: 1. 使用Java文件读取流来读取文件字节数组,可以使用FileInputStream或者RandomAccessFile。 2. 读取文件的前几个字节,这个数量根据不同的文件格式而不同。一般来说,至少需要读取文件的前几个字节来判断文件的格式。 3. 根据读取到的字节数组,进行特征码的判断。每种文件格式都有不同的特征码,可以通过比较读取到的字节数组和特征码来判断文件的格式。 4. 对比判断的结果,如果字节数组与某种文件格式的特征码相符,则可以确定文件的格式。 5. 如果需要判断多种文件格式,则可以逐个对比每种文件格式的特征码,直到找到匹配的文件格式或者没有匹配的文件格式。 需要注意的是,判断文件格式并不是100%准确的,因为有些文件格式的特征码可能相似或者有特殊情况。此外,一些文件格式也可以通过文件的后缀名来判断,但后缀名并不是绝对可信的,有可能被修改或者不准确。 总的来说,通过读取文件字节数组来判断文件的格式是一种比较常见和简单的方法,但需要对不同的文件格式有一定的了解,并且需要根据实际情况进行判断和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值