使用IO在C#中读取hex

我正在从C#转向Java,似乎无法找到任何相关信息。 我正在尝试读取一个使用hex的文件,在Java中我用…

String s = Integer.toHexString(hexIn); if(s.length() < 2){ s = "0" + Integer.toHexString(hexIn); } 

因为我确定你知道这就是所以如果读入的字节是一个字符长,它增加一个零使其成为hex,我想为c#做同样的事情到目前为止我有……

  StreamReader reader = new StreamReader(fileDirectory); long stickNoteLength = fileDirectory.Length; int hexIn; String hex = ""; for (int i = 0; (hexIn = reader.Read()) != -1; i++) { } 

现在我卡住了,对不起,如果这是一个简单的问题,谢谢你的帮助:)

 string hex = String.Format("{0:X2}", hexIn); 

使用此格式化掩码,您将获得0到32之间的数字(例如):

 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 

我添加了20:X2 ),因为你提到你正在读取字节 。 注意,对于表示hex数字,在字符串开头添加0x也是正确的:

 string hex = String.Format("0x{0:X2}", hexIn); 

试试这个

 hex = hexIn.ToString("X"); 

要么

 hex = Convert.ToString(hexIn,16);