【问题标题】:Compare size of file and size of byte array of that file比较文件的大小和该文件的字节数组的大小
【发布时间】:2020-06-04 23:12:46
【问题描述】:

当我们转换文件时(比如 - 图像) 对 byteArray 来说,它们之间如何进行近似比较(图像文件和 byteArray)?

还有没有办法首先将图像文件转换为 byteArray 并且这个 byteArray 必须写在一个文本文件中。 在此之后再次从文本文件中读取这些 byteArray 行并制作 byteArray 并因此转换为图像文件......我是初学者,只是为了知识目的,我想知道...... ..

【问题讨论】:

  • 你可以直接比较bytearray。只需做类似bytearray.length == anotherBA.length
  • 好的.. 谢谢。请告诉我这个问题的其余部分。
  • When we convert the file (say - image) To byteArray h... 无法将文件转换为数组。但是可以将文件的字节直接放在字节数组中。任何文件。
  • 如何在文本文件中放置字节数组超出了我的想象。除非它是您加载的文本文件。
  • 正如您@blackapps 所说的将文件的字节放置到字节数组中,然后在读取该字节数组后,我们可以将这些字节数组数据也放入文本文件中,正如#Blu 回答的那样。这只是#blackapps 评论和#Blu 答案的关系。 :)

标签: android arrays type-conversion filesize


【解决方案1】:

您可以像这样将图像转换为字节数组。

  BufferedImage bImage = ImageIO.read(new File("sample.jpg"));
  ByteArrayOutputStream bos = new ByteArrayOutputStream();
  ImageIO.write(bImage, "jpg", bos );
  byte [] data = bos.toByteArray();

是的,你可以直接比较 2 byteArray。

做一些类似的事情

if (bytearray1.length == bytearray2.length)
   //its same

尝试将字节数组写入文本文件

public void writeToFile(byte[] array) 
{ 
   try 
   { 
       String path = "/data/data/YOURFILE.txt"; //provide your path here
       File file = new File(path);
       if (!file.exists()) { //just to check if file is actually present
          file.createNewFile();
       }
       FileOutputStream stream = new FileOutputStream(path); 
       stream.write(array); 
   } catch (FileNotFoundException e1) 
   { 
      e1.printStackTrace(); 
   } 
} 

【讨论】:

  • 我已经强调了我想问的比你回答的更多的文字:\
猜你喜欢
  • 1970-01-01
  • 2014-04-28
  • 2019-04-30
  • 1970-01-01
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多