Всем привет. Возникли проблемы с кодировкой. IDE NetBeans 7.2. Вроде как использую UTF-8.
Когда создаю файл- ячейку в таблице до компиляции, ее не показывает после компиляции. А если открыть среду разработки, то ситуация наоборот. Файлы которые были созданы в программе после компиляции не видит. А которые были созданы в среде все видит.
вот картиночки:
это отображает в NetBeans. Сверху ячейки созданы в нетбине, снизу уже после компиляции.
это отображает после компиляции: ячейки которые были созданы в нетбине не отображает, точней отображает, но зябры козябры.
Страшен ли такой баг для юзверей? Или это норма. Я предполагаю что кодировка по умолчанию в нетбине мб не та и пишет вот это. Код силен в кодировках подскажите пж.
Немного поковырялся. В NetBeans записывает в UTF-8. В .jar без какой-либо кодировки. Запись файлов в программе без указания кодировки:
try(PrintWriter writer = new PrintWriter(new FileWriter(fileResume))) {
writer.write(s1);
writer.append("\n");
}
вот чтение файлов:
try(Scanner scanner = new Scanner(new FileReader(globalFile))) {
while(scanner.hasNext())
stringBuffer.append(scanner.nextLine()).append("\n");
}
Около 2-х часов копался, нашел решение:
код для записи:
try(PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(fileResume), StandardCharsets.UTF_8), true)) {
writer.write(s1);
writer.append("\n");
}
Код для чтения:
try(Scanner scanner = new Scanner(new FileInputStream(globalFile), "UTF-8")) {
while(scanner.hasNext())
stringBuffer.append(scanner.nextLine()).append("\n");
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей