Еще разне удается прочитать весь файл в строку в Java
Здравствуйте,
повторения моего вопроса
Я скачал файл из Интернета, а именно это:
Это 94159 байт, и при проверке все кажется прекрасным. Теперь я хотел бы прочитать этот файл в String, манипулировать им, а затем сохранить его. После прочтения файла я печатаю его на консоль, и кажется, что он не читал весь файл (части с конца отсутствуют). После сохранения это всего лишь 91000 байт.
Я пробовал разные методы чтения, так что я не думаю, что это проблема, например:
String fileTo = new String(Files.readAllBytes(Paths.get(fileFullPath)), StandardCharsets.UTF_8);
(тот же результат с помощью сканера, поток)
Вероятно, что-то делать с файлом сам. Файл на моем mac находится в utf-8, может быть, изначально это не так? Я действительно не знаю, что может быть причиной. Спасибо за помощь.
Edit:
Это, как я скачал его:
try (InputStream fileReader = new BufferedInputStream(
conn.getInputStream());
OutputStream fileWriter = new BufferedOutputStream(
new FileOutputStream(fileFullPath)))
{
int readByte;
while ((readByte = fileReader.read()) != -1)
{
fileWriter.write(readByte);
}
Как сохранить файл «Мое предположение t, три строки кода в этом файле настолько длинны, что ваша консоль усекает их. –
Сохраните вот так: try (PrintStream out = new PrintStream (новый FileOutputStream (fileFullPath))) { out.print (fileTo); } – Jhonny
Когда вы конвертируете в String, вы можете получить меньше символов, чем у вас есть байты, поскольку у вас могут быть многобайтовые символы. –