В настоящее время я пытаюсь прочитать несколько файлов (UTF-8) в каталоге и сохранить каждый элемент в этом текстовом файле в массив.
Я могу вывести текст на консоль, однако в нем показаны некоторые забавные символы, от которых я не могу избавиться (см. Изображение - как должно выглядеть, отображается справа).
В настоящее время у меня есть метод, который создает массив со всеми именами файлов в этом каталоге и затем использует для l oop Я посылаю каждое из этих имен файлов в метод чтения, который помещает его в строку.
Приведенный ниже метод записывает эти имена файлов в массив.
public static ArrayList<String> readModelFilesInModelDir() {
File folder = new File("Models/");
File[] listOfFiles = folder.listFiles();
String random = "";
assert listOfFiles != null;
ArrayList<String> listOfModelFiles = new ArrayList<>();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
//System.out.println("File " + listOfFiles[i].getName());
listOfModelFiles.add(listOfFiles[i].getName());
} else if (listOfFiles[i].isDirectory()) {
System.out.println("Directory " + listOfFiles[i].getName());
}
}
System.out.println(listOfModelFiles);
return listOfModelFiles;
Нижеприведенное значение для l oop затем отправляет эти имена файлов на чтение method.
ArrayList<String> modelFiles = readModelFilesInModelDir();
for (int i = 0; i < modelFiles.size(); i++) {
String thisString = readModelFileIntoArray(modelFiles.get(i));
System.out.println(thisString);
}
Затем метод ниже считывает строку в массив, который выводит то, что показывают изображения.
public static String readModelFileIntoArray(String modelFilePath) {
StringBuilder fileHasBeenRead = new StringBuilder();
try {
Reader reader = new InputStreamReader(new FileInputStream(("Models/" + modelFilePath)), StandardCharsets.UTF_8);
String s;
BufferedReader bufferedReader = new BufferedReader(reader);
while ((s = bufferedReader.readLine()) != null) {
fileHasBeenRead.append(s + "\n");
}
reader.close();
} catch (Exception e) {
System.out.print(e);
}
return fileHasBeenRead.toString().trim();
}
Наконец, Как бы я исправить эту проблему вывода, а также сохранить каждый из этих файлов, которые были прочитаны в отдельный массив, который я могу использовать в другом месте? Спасибо!