江南少年
2020-08-26 16:20
采纳率: 36.4%
浏览 166
已采纳

Java怎样读取二进制文件?

有一个index.png位于D:/Users/

现在需要读取这个文件并UTF-8转换为byte[]

请各位大佬帮忙

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • blownewbee 2020-08-26 16:34
    已采纳

    FileInputStream就可以。既然是图片,怎么会有utf-8

    File file = new File("D:/Users/xxx.png");
    InputStream input = new FileInputStream(file);
    byte[] byt = new byte[input.available()];
    input.read(byt);

    点赞 评论
  • 小小小小小小小阳 2020-08-28 15:56

    public void test055() throws IOException {
    File inFile = new File("d:\Chrysanthemum.jpg");
    FileInputStream fileInputStream = new FileInputStream(inFile);
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    int i;
    //转化为字节数组流
    while ((i = fileInputStream.read()) != -1) {
    byteArrayOutputStream.write(i);
    }
    fileInputStream.close();
    // 把文件存在一个字节数组中
    byte[] filea = byteArrayOutputStream.toByteArray();

        byteArrayOutputStream.close();
        String encoding = "ISO-8859-1";
        String fileaString = new String(filea, encoding);
        System.out.println(fileaString);
        // 写入文件
        FileOutputStream fileOutputStream = new FileOutputStream("d:/b.png");
        fileOutputStream.write(fileaString.getBytes(encoding));
        fileOutputStream.flush();
        fileOutputStream.close();
    
    点赞 评论

相关推荐 更多相似问题