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