1
我是新的Java.I已將二進制字符串更改爲文本字符串使用此代碼。二進制文本,只是將其反轉爲使用JAVA的二進制
StringBuilder contentBuilder = new StringBuilder();
StringBuffer sb = new StringBuffer();
try {
BufferedReader in = new BufferedReader(new FileReader("filename.txt"));
String jitu;
while ((jitu = in.readLine()) != null) {
contentBuilder.append(jitu);
}
in.close();
} catch (IOException e) {
}
String binput = contentBuilder.toString();
for (int i = 0; i < binput.length()/8; i++)
{
int a = Integer.parseInt(binput.substring(8*i,(i+1)*8),2);
sb.append((char)(a));
}
然後,我想通過以下代碼將此文本轉換爲二進制文件。
byte[] bytes = binput.getBytes();
StringBuilder binary = new StringBuilder();
for (byte b : bytes){
int val = b;
for (int i = 0; i < 8; i++){
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}}
但問題是,當我將從binary.append()獲取輸出。這與輸入的二進制字符串不一樣。我希望輸出與輸入相同。 在此先感謝。
在你嘗試做到這一點之前,你應該看看http://stackoverflow.com/questions/1536054/how-to-convert-byte-array-to-string-and-vice-versa –
我建議你使用StringBuilder而不是StringBuffer。後者在十多年前成爲一個傳統階級。 –