请问如何读取2进制文件啊,就是直接读编码

来源:百度知道 编辑:UC知道 时间:2024/05/17 09:26:05
请问如何能读出2进制文件的内容啊,比如一个图片(其实是一个2进制文件),我用FileInputStream来打开一个.png文件,可是打不开,读不出来,请问是用什么类才能读出来呢?读出来之后如何用16进制来表示出来呢

如果用过ultraedit 就知道,他就可以直接把文件打开成16进制。

我现在要做一个图形转换,首先就要能打开图片啊,可是却打不开,谁能告诉我下啊,如果能有代码就更好了,在此先谢谢了。
不行的,如果是打开txt文件就可以,可是打开图片文件就不行了

用byte流读取吧:
File f1 = new File("D:\\a.jpg");
FileInputStream fis = new FileInputStream(f1);
DataInputStream dataIn = new DataInputStream(fis);
//每次读取1024个字节
byte[] buffer = new byte[1024];
int length=0;
while ((length = dataIn.read(buffer)) != -1) {
//文件内容已读取到buffer里,这里你可以写你想要改的代码
}

FileInputStream有这样一个方法:

public int read() throws IOException
每次读入一个字节, 你将每次得到这个字节就可以了。

File f1 = new File("D:/a.jpg");
FileInputStream fis = new FileInputStream(f1);