2016-04-26 4 views
0

Я пишу мой массив байтов в файл:Получение другого массива байтов, чем записывается в файл при чтении из файла

PrintWriter pw = new PrintWriter(new FileOutputStream(fileOutput, true)); 
pw.write(new String(cryptogram, Charset.defaultCharset())); 
pw.close(); 

Затем я читаю из файла, как это:

String cryptogramString = new String(); 
while (scPriv.hasNext()) { 
    linePriv = scPriv.nextLine(); 
    cryptogramString += linePriv; 
} 

Но я не знаю, как сделать byte[] от cryptogramString. Я пробую это:

byte[] b = cryptogramString.getBytes(Charset.defaultCharset()); 
System.out.println(Arrays.toString(b)); 
System.out.println(Arrays.toString(cryptogram)); 

Но он не возвращает те же значения. Кто-нибудь есть идея, как сделать это правильно?

+0

Я не понимаю _doesn't вернуть мне же values_. Что вы сравниваете? – Savior

+3

На самом деле это не похоже на то, что должно взаимодействовать со строками, а должно быть просто с использованием 'InputStream' и' OutputStream' и строго говоря с байтами? –

+0

System.out.println (Arrays.toString (b)); - это не то же самое, что System.out.println (Arrays.toString (криптограмма)); –

ответ

2

Вы должны решить, будете ли вы писать текст или бинарный файл.

Зашифрованные данные всегда двоичные, что означает, что вы не должны использовать классы чтения/записи/строки.

try (FileOutputstream out = new FileOutputStream(filename)) { 
    out.write(bytes); 
} 

читать обратно в

byte[] bytes = new byte[(int) (new File(filename).length())]; 
try (FileInputstream in = new FileInputStream(filename)) { 
    in.read(bytes); 
} 

У меня есть файл, который содержит XML, а затем простой текст, поэтому я не могу прочитать файл в целом

Вы также можете 't записывать двоичный файл в текстовый файл. Вы можете кодировать его с помощью base64.

Storing base64 data in XML?

+0

У меня есть структура файла следующим образом ' Cryptogram' Как я мог читать эту криптограмму с FileInputStream без чтения XML? Я не могу использовать base64 beacuse, он расширяет размер. –

+0

Вы смешиваете текст (xml) и двоичные данные в одном файле? Это действительно не лучший способ сделать это. – Andreas

+0

Это мои требования к этой задаче, и я должен сделать это таким образом. Если бы это было до меня, я бы нашел другой способ. –

 Смежные вопросы

  • Нет связанных вопросов^_^