嗨,我是C#从Java迁移的新手.尝试使用HEX中的IO读取文件.当我读到第一个字节时,我没有得到我在Hex编辑器中看到的内容.
我正在使用
StreamReader reader = new StreamReader(fileDirectory);
int hexIn;
String hex;
for (int i = 0; (hexIn = reader.Read()) != -1; i++){
hex = Convert.ToString(hexIn, 16);
}
Run Code Online (Sandbox Code Playgroud)
在Java我用过......
FileInputStream fis = new FileInputStream(file);
long length = file.length();
int hexIn;
String hex = "";
for(int i = 0; (hexIn = fis.read()) != -1; i++){
String s = Integer.toHexString(hexIn);
if(s.length() < 2){
s = "0" + Integer.toHexString(hexIn);
}
Run Code Online (Sandbox Code Playgroud)
我希望这是有道理的.任何帮助都会得到最多的帮助:)
谢谢
Mar*_*ade 12
不要使用StreamReader-that仅用于特定编码的字符(默认UTF8).FileStream改为使用类:
FileStream fs = new FileStream(fileDirectory, FileMode.Open);
int hexIn;
String hex;
for (int i = 0; (hexIn = fs.ReadByte()) != -1; i++){
hex = string.Format("{0:X2}", hexIn);
}
Run Code Online (Sandbox Code Playgroud)