Java获取文件的byte数组数据

Posted toseemydream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
    }

  

以上是关于Java获取文件的byte数组数据的主要内容,如果未能解决你的问题,请参考以下文章

Java:FileInputStream读取文件,byte[]过小出现错误

java.io.ByteArrayInputStream

获取文件数据流+叠加byte数组(给byte数组加包头包尾)

获取文件数据流+叠加byte数组(给byte数组加包头包尾)

在java中如何把字节数组存储到数据库?

如何从Java中的字节数组中获取数据?