Java获取文件的byte数组数据

public static byte[] getFileByteArray(File file) {
        long fileSize = file.length();
        if (fileSize > Integer.MAX_VALUE) {
            System.out.println("file too big...");
            return null;
        }
        byte[] buffer = null;
        try (FileInputStream fi = new FileInputStream(file)) {
            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());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return buffer;
    }

  

原文地址:https://www.cnblogs.com/toSeeMyDream/p/12381183.html

时间: 2024-10-08 16:37:11

Java获取文件的byte数组数据的相关文章

Java 文件和byte数组转换

/**      * 获得指定文件的byte数组      */      private byte[] getBytes(String filePath){          byte[] buffer = null;          try {              File file = new File(filePath);              FileInputStream fis = new FileInputStream(file);              Byte

jsp和java获取文件或路径

1.如何获得当前文件路径常用:(1).Test.class.getResource("")得到的是当前类FileTest.class文件的URI目录.不包括自己!(2).Test.class.getResource("/")得到的是当前的classpath的绝对URI路径.(3).Thread.currentThread().getContextClassLoader().getResource("")得到的也是当前ClassPath的绝对URI

java 合并两个byte数组

//java 合并两个byte数组 public static byte[] bytesMerger(byte[] byte_1, byte[] byte_2) { byte[] byte_3 = new byte[byte_1.length + byte_2.length]; System.arraycopy(byte_1, 0, byte_3, 0, byte_1.length); System.arraycopy(byte_2, 0, byte_3, byte_1.length, byte

java获取文件的路径问题

java获取文件的路径问题 在java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法. 本基于springboot做的测试,主要是构建工程方便,所用的方法都是JDK中的方法,主要测试有"/"和没有""的问题,以及getResourceAsStream(String string)和getResource(String string)的问题. 1.项目结构 解释一下,主要有两个配置文件,a.properties和b.properties,

java获取各类容器和数组的长度

java获取各类容器和数组的长度 没什么别的,查缺补漏而已 数组:length属性 ArrayList:size()方法 HashMap:size()方法 HashSet:size()方法 再加一个,字符串String:length()方法 原文地址:https://www.cnblogs.com/jiading/p/12369481.html

Java中文件与字节数组转换

注:来源于JavaEye 文件转化为字节数组: http://www.javaeye.com/topic/304980 [c-sharp] view plaincopy /** * 文件转化为字节数组 * * @param file * @return */ public static byte[] getBytesFromFile(File file) { byte[] ret = null; try { if (file == null) { // log.error("helper:the

java中int与byte数组互转代码详细分析

转载请注明出处:http://blog.csdn.net/tang9140/article/details/43404385 在java中,可能会遇到将int转成byte[]数组,或者将byte[]数组转成int的情况.下面我们来思考下怎么实现? 首先,分析int在java内存中的存储格式. 众所周知,int类型在内存中占4个字节,采用补码方式存储(假如对原码.反码.补码不熟悉,请查阅相关资料).举例: 整型-128对应内存中的二进制值为 整型128对应内存中的二进制值为 然后,考虑如何把int

将byte[]数组数据转换为图片用于预览显示

假如服务器返回给你的图片信息是byte[] 然后你需要将起转换成图片显示到你的view中去: 按以下的步骤 1.将获取的byte数组保存 假如为temp[]; 2.将temp[]转化为bitmap,你可以使用下面的这个方法 : /** * 将字节数组转换为ImageView可调用的Bitmap对象 * @param bytes * @param opts 转换属性设置 * @return **/ public static Bitmap getPicFromBytes(byte[] bytes,

java基本数据类型转换成byte[]数组

import java.io.UnsupportedEncodingException;  public class ConToByte {      /**     * double转换byte     * @param  arr  byte[]     * @param  param    double   double类型的参数     * @param  index  int     */     public static void putDouble(byte[] arr, doub