如何将java读取文件内容写入到byte数组中?
如何将java读取文件内容写入到byte数组中?
有时候,我们需要将读取文件的内容到一个byte[] 数组中,然后对这个数组进行一些修改,这时,我们可以借助于ByteArrayOutputStream 这个类来实现。 ByteArrayOutputStream,顾名思义,同样是一个OutputStream,那么,对于它的写入操作,和其他的 OutputStream应该是没有什么两样,写入代码可以说是随手拈来的,与其他输出流的不同之处在于,ByteArrayOutputStream写入到内存中,并提供一个 toByteArray() 方法返回我们所需要的byte[]。
下面,用一小段代码,具体演示一下如何操作,希望菜鸟同志们都能明白吧。 示例中,用了BufferedInputStream,每次读取1k数据。 1。 package org。apache。demo; 2。 3。 import java。
io。BufferedInputStream; 4。 import java。io。ByteArrayOutputStream; 5。 import java。io。FileInputStream; 6。 import java。io。
IOException; 7。 8。 public class Stream2Byte { 9。 10。 public static void main(String[] args) throws IOException { 11。
12。 BufferedInputStream in = new BufferedInputStream(new FileInputStream("/media/music/hello。ogg")); 13。 ByteArrayOutputStream out = new ByteArrayOutputStream(1024); 14。
15。 System。out。println("Available bytes:" + in。available()); 16。 17。 byte[] temp = new byte[1024]; 18。 int size = 0; 19。
while ((size = in。read(temp)) != -1) { 20。 out。write(temp, 0, size); 21。 } 22。 in。close(); 23。 24。 byte[] content = out。
toByteArray(); 25。 System。out。println("Readed bytes count:" + content。length); 26。 } 27。 }。
答:1.直接在构造String时建立。 char data[] = {'s', 'g', 'k'}; String str = new String(data); ...详情>>