我试图从float
文件中读取binary
个值,
public static void tmpTest ( )
{
string fileName = @"c:\debug\tmp_1.bin";
/* Write */
using ( BinaryWriter bw = new BinaryWriter ( File.Open( fileName, FileMode.Create ) ))
{
bw.Write ( 10.001f );
bw.Write ( 10.002f );
}
/* Read */
using ( BinaryReader br = new BinaryReader ( File.Open ( fileName, FileMode.Open ) ) )
{
int val_1 = br.Read (); // Output : 25
int val_2 = br.Read (); // Output : 4
}
}
我知道我在Read
部分遗漏了一些内容,当我将这些值读为val_1
25
& val_2为 4
而非10(因为返回类型为整数),请指导我在这里做错了什么。
非常感谢提前。
答案 0 :(得分:17)
你查过文件了吗? BinaryReader中有一个ReadSingle方法。
float value = binaryReader.ReadSingle();
答案 1 :(得分:2)
答案 2 :(得分:0)
您正在使用read而不是ReadSingle。我认为读入int会导致数据转换。
请参阅以下有关Read和ReadSingle
的文档文章