2
我正在嘗試從網絡中檢索到的圖像中編寫PNG文件。這是我在做什麼(在HTTP代碼和IOUtils魔術都來自Apache的):爲什麼我無法使用Java從下載的源中正確地在Windows上編寫PNG文件?
public static void main(String[] args) throws Exception {
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(new URI("http://tinyurl.com/krb43g"));
HttpResponse response = client.execute(get);
HttpEntity entity = response.getEntity();
byte[] data = IOUtils.toByteArray(entity.getContent());
File tempFile = File.createTempFile("Picture", ".png");
Writer writer = new BufferedWriter(new FileWriter(tempFile));
IOUtils.write(data, writer);
writer.close();
Runtime.getRuntime().exec("rundll32.exe \"C:\\Program Files (x86)" +
"\\Windows Photo Viewer\\PhotoViewer.dll\", ImageView_Fullscreen "
+ tempFile.getAbsolutePath());
}
,圖像仍損壞以某種方式與Windows無法顯示。我在寫錯了嗎?
@HenryTyler:只需添加到這個答案,'Writer'是編寫*字符流*,*不是字節流*:HTTP://下載.oracle.com/JavaSE的/ 6 /文檔/ API/JAVA/IO/Writer.html – 2010-09-19 12:25:47