Я читаю файл и заменяю какой-то текст, а затем пишу новый файл построчно. Я использую следующий код для чтения и записи файла. Обычно проблем с файлами в кодировке CP1252 и UTF-8 не возникает, но когда я пытаюсь прочитать файл, закодированный в «UCS-2 LE BOM», сохраненный файл начинается с символов спецификации и содержит много пробелов. . Я знаю, что это связано с кодировкой, но я не знаю, нужно ли мне читать ее по-другому или сохранять по-другому. Кроме того, я знаю, что могу установить кодировку при чтении файла, но как я могу обрабатывать файлы с разной кодировкой, не зная, какой из них идет. У меня нет контроля над файлом, пока он не попадет в мой java-код. Любая помощь приветствуется, спасибо.
FileInputStream sourceFileInputStream = new FileInputStream(sourceFile);
DataInputStream sourceDataInputStream = new DataInputStream(sourceFileInputStream);
BufferedReader sourceBufferedReader = new BufferedReader(
new InputStreamReader(sourceDataInputStream));
FileWriter targetFileWriter = new FileWriter(new File(targetFileLocation));
BufferedWriter targetBufferedWriter = new BufferedWriter(
targetFileWriter);
.
.
.
targetBufferedWriter.write(newTextline);
file
для определения правильного типа файла? - person Erich Kitzmueller   schedule 14.04.2017