非常困惑,当我在使用下面的代码读取文件时,它打印出FFFFFF,有人可以向我解释这个文本文件中只有数字和字母吗?任何帮助都会非常棒!
String fileDirectory = "C:\\t.txt";
StreamReader reader = new StreamReader(fileDirectory);
int hexIn;
for (int i = 0; (hexIn = reader.Read()) != -1; i++)
{
String s;
s = hexIn.ToString("X2");
int x = 0;
while (x < 1)
{
hexIn = reader.Read();
s = hexIn.ToString("X2");
x++;
}
hexIn = reader.Read();
s = hexIn.ToString("X2");
MessageBox.Show(s);
}
答案 0 :(得分:3)
每个循环迭代你有三个Read
次调用,这意味着它们中的任何一个都可以返回-1来指示文件的结尾。我怀疑那时候会被转换为FFFFFFFF,因此你的输出。为什么你有多个Read
电话?你为什么不一次读一块?
答案 1 :(得分:0)
FFFFFF也可能表示空值。如果您使用Hex编辑Nintendo DS Roms,您会看到最后一堆FFFFFFFF,因为游戏对于盒式磁带来说太小了,所以实际上文件最后可能有空值。