如何在Java中读取文件到字节?
重要的是要注意所有字节都需要是正的,即不能使用负范围.
这可以用Java完成,如果可以,怎么做?
我需要能够将文件的内容乘以常量.我假设我可以将字节读入BigInteger然后相乘,但是因为一些字节是负数,所以最终得到12 13 15 -12等并且卡住了.
Jon*_*eet 16
好吧,Java没有无符号字节的概念...... byte类型总是有符号的,值从-128到127(含).但是,这将与其他使用无符号值的系统进行互操作,例如,写入"255"字节的C#代码将生成一个文件,其中相同的值在Java中读作"-1".小心点,你会没事的.
编辑:您可以使用位掩码非常轻松地将int带符号的值转换为带符号的字节.例如:
byte b = -1; // Imagine this was read from the file
int i = b & 0xff;
System.out.println(i); // 255
Run Code Online (Sandbox Code Playgroud)
使用所有算法int,然后byte在需要再次写出时再回到它.
您通常使用FileInputStream或可能从文件中读取二进制数据FileChannel.
现在很难知道你还在寻找什么......如果你能在你的问题中提供更多细节,我们可以帮助你.
| 归档时间: |
|
| 查看次数: |
10517 次 |
| 最近记录: |