在java中以二进制模式读取url

时间:2010-06-06 01:10:20

标签: java file url binary io

在java中,我需要从站点读取二进制文件并将其写入磁盘文件。此示例http://java.sun.com/docs/books/tutorial/networking/urls/readingURL.html可以成功读取网页,但是当我尝试从我的localhost服务器读取二进制文件并将其写入磁盘文件时,内容会更改,从而破坏二进制文件。使用fc我看到0x90被改为0x3F和其他变化。如何在没有java或任何其他更改任何字符的情况下访问二进制文件(读取URL和写入文件),例如进行任何换行转换或字符转换或其他任何操作,只需读取输入URL并将其写为文件即可。

2 个答案:

答案 0 :(得分:1)

不要在InputStreamReader周围包裹BufferedReaderopenStream(),只需在BufferedInputStream周围包裹{。}}。

答案 1 :(得分:0)

java.io.InputStreamReader州的JavaDoc

  

InputStreamReader是从字节流到字符流的桥接器:它使用指定的字符集读取字节并将其解码为字符。它使用的字符集可以通过名称指定,也可以明确指定,或者可以接受平台的默认字符集。

在您的情况下,您要求JVM将字节转换为将转换为字符串的字符。这不是你想要的。而是直接从java.io.InputStream或通过java.io.BufferedInputStream读取字节。