Код для добавления написанной строки после определенной строки. Раньше проблема была и при чтении из файла, но поменяла в настройках кодировку на windows-1251, после чего буквы из файла idea начала понимать, а вот строку которую надо записать русскими буквами не понимает. Что делать? может есть какой то код который можно написать вначале программы, чтобы она меняла кодировку или еще что то в настройках? Подскажите пожалуйста.
package Main;
import java.io.*;
...
public class WorkWithFile {
private String path;
public WorkWithFile(String path) {
this.path = path;
}
//возвращает массив номер строк сверху (первая строка - 1) str (после которых надо вставить)
private ArrayList<Integer> countNumberPosStr(String str) throws IOException {
File file = new File(path);
BufferedReader bf = new BufferedReader(new FileReader(file.getAbsoluteFile()));
.....
}
//создает список со всеми строками файла
private LinkedList<String> writeArrayOfAllStrings() throws IOException {
.....
}
//создается новый файл, с добавленными строками
public void addStringInNewFile(String str, String str_add) throws IOException {
File new_file = new File("D:/other/Text/File.txt");
boolean create = new_file.createNewFile();
boolean flag = false;
if (create) {
FileWriter file = new FileWriter("D:/other/Text/File.txt");
int count = 1;
int count_array = 0;
ArrayList<Integer> quantity_strings = this.countNumberPosStr(str);
LinkedList<String> strings = this.writeArrayOfAllStrings();
ListIterator<String> it = strings.listIterator();
for (String p :
strings) {
file.write(it.next() + "\n");
if (count_array < quantity_strings.size()) {
if (count == quantity_strings.get(count_array)) {
file.write(str_add + "\n");
count_array++;
flag = true;
}
}
count++;
}
if (flag) {
file.flush();
}
} else {
System.out.println("ошибка при создании файла");
}
}
}
----и вот в главной программе при вызове не понимает строку вторую
public class ChangeText {
private static WorkWithFile work;
public static void main(String[] args) throws IOException {
work = new WorkWithFile("D:/other/Text/for2.txt");
work.addStringInNewFile("123 45", "это жея(");
}
}
Спустя три дня откопала решение:
PrintWriter file = new PrintWriter("D:/other/Text/File.txt", "Cp1251");
...
file.println(str_add);
Правда в настройках idea сделала обратно UTF-8, а не windows
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я хочу написать клиент-серверное приложение на Java - начать с простенького чатаПока что мне подходит и сервер на компьютере дома
Нужно убрать точку перед первым элементом, и убрать отступ у последнего элементаВозможно есть проще решение сделать такое горизонтальное...
Помогите решить проблему: не понимаю, как реализовать секцию на сайте, без Bootstrap