Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> удаление из файла 
:(
    Опции темы
Samotnik
Дата 1.7.2007, 02:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



Добрый день!
Значит ситуация такая. Есть файл, в нем допустим есть следущие записи
Код

Вася Петров
Петр Василиевич
Иванов Петя
Гламур Растиславович

Каким образом можно(и вообще можно ли) удалить из файла нужную строку, ну к примеру Петр Василиевич     :????

 smile 
PM MAIL   Вверх
LSD
Дата 1.7.2007, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



1. считать весь файл в память, удалить строку, записать обратно
2. читаем строки из одного файла, пишем нужные в другой файл, потом первый удаляем, а второй переименовываем


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Samotnik
Дата 1.7.2007, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



 smile 
ЗАЩИБИСЬ!!!!!!      smile 
Пасибо!
 smile 
PM MAIL   Вверх
Samotnik
Дата 5.7.2007, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



2 LSD
Если не сложно обьясни плз, каким способом это моно сделать  smile 
Цитата(LSD @  1.7.2007,  09:25 Найти цитируемый пост)
. считать весь файл в память, удалить строку, записать обратно

??
Я пробую так
Код

FileReader fr = new FileReader("file.txt");
BufferedReader br = new BufferedReader(fr);
String str;
while(str= br.readLine() != null)
{
    System.out.println(str);//на  всяк случай посмотреть!!
    }
fr.close();

Только смысла особого не вижу со Стринг работать, ведь он является константой, и из него нужную строку не удалить.
Как лучше сделать удаление из файла строки, оч нуна!!   smile  На примере(простеньком) пожалуйста!!!  smile 

PM MAIL   Вверх
LSD
Дата 5.7.2007, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



readLine() читает именно строку, а не весь файл.
Создаешь ArrayList, читашь в него строки, удаляешь ненужные, записываешь обратно.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Samotnik
Дата 6.7.2007, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



А попроще нельзя?  smile   а?
А то я с коллекциями как то не очень!!!
PM MAIL   Вверх
LSD
Дата 6.7.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



А что там сложного:
Код
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("file.txt"), "UTF-8"));
String s;
ArrayList<String> list = new ArrayList<String>();
while((s = reader.readLine()) != null)
{
  if(<проверяем_что_строка_подходит>)
    list.add(s);
}
reader.close();

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("file.txt"), "UTF-8"));
for(String str : list)
{
  writer.write(str);
  writer.newLine();
}
writer.close();


Добавлено через 48 секунд
И не забудь, что строки сравниваются через equals(), а не ==.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Samotnik
Дата 7.7.2007, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



  Здоровски, спасибо!  Буду пробывать

Цитата(LSD @  6.7.2007,  15:21 Найти цитируемый пост)
И не забудь, что строки сравниваются через equals(), а не ==.

Это я помню!!    smile   smile   smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0532 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.