import java.io.*;
import java.util.ArrayList;
public class remove {
public static void main(String[] args)
{
try( BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)))
{
String file ="D:\\text.txt";// bufferedReader.readLine();
ArrayList<String> list = new ArrayList<>();
try(BufferedReader fileReader = new BufferedReader(new FileReader(file)))
{
while(fileReader.ready())
{
String line = fileReader.readLine();
if(line.contains("параметр=")) list.add(line);
else {
String arg[] = line.split("=");
list.add(arg[0] + "=");
}
}
}
try(BufferedWriter fileWriter = new BufferedWriter(new FileWriter(file)))
{
for(String s: list)
{
fileWriter.write(s);
fileWriter.newLine();
}
}
}
catch(IOException e){System.out.println("Что-то с именем файла");}
}
}
файл с тестом
параметр=kn;ljlфывфывфывфы
параметр1=ываываыва
параметр3=фвфывфывфыв
параметр4=ываываываыва
параметр=1ываываыа
При запуски идеи все хорошо выдает :
параметр=kn;ljlфывфывфывфы
параметр1=
параметр3=
параметр4=
параметр=1ываываыа
А вот если сохранить в .jar формат выдает:
параметр=
параметр1=
параметр3=
параметр4=
параметр=
Вопрос , что делаю не так.
P/S это не по задачам javarush , просто хотела написать небольшую утилиту себе в помощь по работе, но вот бяда мои знания пока не достаточно широки чтобы реализовать jar фотмат в номальной кодировки. Как я понимаю дело в кодировке if(line.contains("параметр=")) list.add(line); потму как вот сюда не заходит. Сам файл сохранен в utf-8.
Карина С.
30 уровень
Не могу понять!
Решен
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергей Пряничников
11 октября 2017, 11:51решение
Скорее всего BufferedReader fileReader = new BufferedReader(new FileReader(file)) для FileReader нужно указать вторым параметром кодировку. Проще всего решить через Files.readAllLines() он сразу читает все строки из файла и возвращает List<String> Посмотрите еще на класс Properties, им как раз такие задачи решаются.
+2