0
目标:输入.pcap文件并在新行上输出每个字节(以二进制形式)。
当前代码:
使用Java读取和输出.pcap文件
import java.io.FileInputStream;
public class display {
private static FileInputStream input;
public static void main(String[] args) {
try {
input = new FileInputStream("theDump.pcap");
int content = 0;
int counter = 0;
while ((content = input.read()) != -1) {
System.out.println(counter + ". " + (byte)content);
counter++;
}
} catch (Exception e) {
System.out.println("Error");
}
}
}
的.pcap文件是使用tcpdump的-w标志制作。
电流以上代码的输出:
0 -44
1. -61
2. -78
3. -95
4. 2
5. 0
6. 4
7. 0
8.0
9.0
...等等...
我试图让以可读的二进制输出,那么255应该输出为1111 1111
另外,我也不允许从附带JDK 8
谢谢!另外,有没有办法确保所有的输出是8位二进制?例如:0输出为0,而不是0000 0000 – Sam
您可以执行以下操作:''''''''''''''''''''''' (counter +“。”+ binary.substring(binary.length() - 8));' –
谢谢你解决了!如果你不介意,你能解释为什么我们将256添加到int“内容”中。 在学习计算机科学时,我了解到一个字节是8位,可以有最大值255和最小值0 为什么Java在字节上放了一个神秘的负号? – Sam