首页 > 技术文章 > 通过文件路径获得对象

lzw0414 2016-04-20 10:26 原文

    // 读取文件路径转换成byte[]类型
    private static byte[] getBytes(String str) throws IOException {
        byte[] bytes = null;
        if (str != null || !str.equals("")) {
            File file = new File(str);
            InputStream is = new FileInputStream(file);
            int length = (int) file.length();
            if (length > Integer.MAX_VALUE) // 当文件的长度超过了int的最大值
            {
                System.out.println("路径过长!!");
                return null;
            }
            bytes = new byte[length];
            int offset = 0;
            int numRead = 0;
            while (offset < bytes.length
                    && (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) {
                offset += numRead;
            }
            // 如果得到的字节长度和file实际的长度不一致就可能出错了
            if (offset < bytes.length) {
                System.out.println("字符长度图实际长度不一致");
                return null;
            }
            is.close();
        }
        return bytes;
    }

推荐阅读