【发布时间】:2011-02-18 23:04:05
【问题描述】:
我有一个 ByteArrayInputStream 形式的图像。我想把它做成我可以保存到我的文件系统中的某个位置的东西。
我一直在兜圈子,请你帮帮我。
【问题讨论】:
-
我无法相信这项任务是多么深奥。
标签: java file-io bytearrayinputstream
我有一个 ByteArrayInputStream 形式的图像。我想把它做成我可以保存到我的文件系统中的某个位置的东西。
我一直在兜圈子,请你帮帮我。
【问题讨论】:
标签: java file-io bytearrayinputstream
ByteArrayInputStream stream = <<Assign stream>>;
byte[] bytes = new byte[1024];
stream.read(bytes);
BufferedWriter writer = new BufferedWriter(new FileWriter(new File("FileLocation")));
writer.write(new String(bytes));
writer.close();
与 FileWriter 相比,Buffered Writer 将提高写入文件的性能。
【讨论】:
如果您已经在使用 Apache commons-io,您可以这样做:
IOUtils.copy(byteArrayInputStream, new FileOutputStream(outputFileName));
【讨论】:
InputStream in = //your ByteArrayInputStream here
OutputStream out = new FileOutputStream("filename.jpg");
// Transfer bytes from in to out
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
【讨论】:
您可以使用以下代码:
ByteArrayInputStream input = getInputStream();
FileOutputStream output = new FileOutputStream(outputFilename);
int DEFAULT_BUFFER_SIZE = 1024;
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
long count = 0;
int n = 0;
n = input.read(buffer, 0, DEFAULT_BUFFER_SIZE);
while (n >= 0) {
output.write(buffer, 0, n);
n = input.read(buffer, 0, DEFAULT_BUFFER_SIZE);
}
【讨论】: