Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / текстовый файл / 21 сообщений из 21, страница 1 из 1
17.04.2012, 14:35:01
    #37757179
Mash6a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
Люди Помогите Разобраться!В заданном текстовом файле каждое предложение текста начать с новой строки. Результат записать в отдельный файл. если как читать фаил я разобралась. То как искать в нем символ "." ??? И как вставлять робел его число по юникоду или по кирилице какое?
...
Рейтинг: 0 / 0
17.04.2012, 14:59:20
    #37757258
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
FileInputStream для чтения файла, оборачиваем в BufferedInputStream для скорости, оборачиваем в InputStreamReader для работы с текстом.
Из Reader читаем текст посимвольно в цикле до конца файла.
Считаный текст записываем в Writer созданый аналогично - OutputStreamWriter, BufferedOutputStream, FileOutputStream.
Если текущий символ точка, то в Writer дополнительно записываем перенос строки - '\n'
...
Рейтинг: 0 / 0
17.04.2012, 16:03:14
    #37757421
Mash6a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
а какнить через
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
String fl;
	try {
		BufferedReader in = new BufferedReader(new FileReader("dd.txt"));
		while ((fl = in.readLine())!=null){
		int lg = fl.length();
		int i;
		for (i=0;i<lg-1;i++){
			char ch = fl.charAt(i);
			if(ch = "."){
				
				}
			}
		}
		in.close();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

можно ?
...
Рейтинг: 0 / 0
17.04.2012, 16:15:57
    #37757448
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
используйте
int c;
c = in.read();

чтобы вместо 2х циклов был один.
Для записи всё по аналогии - BufferedWriter/FileWriter в том же цикле.
...
Рейтинг: 0 / 0
17.04.2012, 16:21:06
    #37757467
Mash6a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
не понимаю ;(
...
Рейтинг: 0 / 0
17.04.2012, 16:25:13
    #37757479
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 int c
	try {
		BufferedReader in = new BufferedReader(new FileReader("dd.txt"));
		BufferedWriter out = new BufferedWriter(new FileWriter("dd2.txt"));
		while ((c = in.readLine()) != -1){
                   out.write(c);
                   if(c == '.'){
                           out.write('\n');
                    }
                }
		out.close();
		in.close();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
...
Рейтинг: 0 / 0
17.04.2012, 16:26:57
    #37757485
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
out.close(); и in.close(); по-хорошему нужно делать в блоке finally.
А в Java 7 вот так:
http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
...
Рейтинг: 0 / 0
17.04.2012, 16:28:19
    #37757488
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
Как-то так
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
	try (
		BufferedReader in = new BufferedReader(new FileReader("dd.txt"));
		BufferedWriter out = new BufferedWriter(new FileWriter("dd2.txt"));
             ){
                 int c
		while ((c = in.readLine()) != -1){
                   out.write(c);
                   if(c == '.'){
                           out.write('\n');
                    }
                }
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
...
Рейтинг: 0 / 0
17.04.2012, 16:29:33
    #37757490
Mash6a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
Ничего не поменялось)) Ничего не делает)) Что значит оберни ??? и Как из фаила сделать переменную или не надо ?
...
Рейтинг: 0 / 0
17.04.2012, 16:33:54
    #37757500
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
Mash6aНичего не поменялось)) Ничего не делает))
IDE пользуемся? Пошаговое выполнение производить умеем?
Mash6aЧто значит оберни ???
Не знаю. Где написано "оберни"?
Mash6aи Как из фаила сделать переменную или не надо ?
Как из доски сделать мебель? Или что-то конкретное хотели спросить?
...
Рейтинг: 0 / 0
17.04.2012, 17:07:56
    #37757590
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
авторif(c == '.'){
out.write('\n');
}


так наверное правильнее будет -

Код: java
1.
2.
3.
4.
if(c == '.'){
                           out.write('.');
                           out.write('\n');
                    }



И я бы вообще считал все строку сделал бы replaceAll и записал в файл. Но это подойдет для не очень больших файлов, а тут думаю как раз такой случай.
...
Рейтинг: 0 / 0
17.04.2012, 17:13:46
    #37757603
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
забыл никтак наверное правильнее будет -
Код: java
1.
2.
3.
4.
if(c == '.'){
                           out.write('.');
                           out.write('\n');
}




А если подумать?
Код: java
1.
2.
3.
4.
5.
out.write(c);
if(c == '.'){
    out.write('.');
    out.write('\n');
}
...
Рейтинг: 0 / 0
17.04.2012, 17:15:16
    #37757612
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
забыл никИ я бы вообще считал все строку сделал бы replaceAll и записал в файл. Но это подойдет для не очень больших файлов, а тут думаю как раз такой случай.
Правильно. Прививаем дурные привычки смолоду! Потом ведь студенты такое и в сервлетах пишут.
...
Рейтинг: 0 / 0
17.04.2012, 17:26:07
    #37757642
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
Blazkowiczзабыл никтак наверное правильнее будет -
Код: java
1.
2.
3.
4.
if(c == '.'){
                           out.write('.');
                           out.write('\n');
}




А если подумать?
Код: java
1.
2.
3.
4.
5.
out.write(c);
if(c == '.'){
    out.write('.');
    out.write('\n');
}



Да, не подумал :)

авторПравильно. Прививаем дурные привычки смолоду! Потом ведь студенты такое и в сервлетах пишут.

Ну я и написал, что все зависит от задачи, возможно не развернул свою мысль. Писать слишком абстрактно и с мыслями о том, что если вдруг... - это иногда очень плохая черта java-программистов, которые любят все переусложнять. Все должно упираться в задачу, по моему это наоборот хорошая привычка.

В общем ТС, если надо написать одноразовый скрипт, чтобы перегнать файл из одного формата в другой и т.п. и размер файлов небольшой, то читайте в строку, делайте replace и пишите в файл. А вот если ваша функция пойдет в программу, которой будут пользоваться другие люди - то делайте как Blazkowicz сказал, это академический стиль, но он дурного не посоветует, уж поверьте.
...
Рейтинг: 0 / 0
17.04.2012, 17:49:34
    #37757720
Mash6a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
Вот так сделала
Код: java
1.
  out.write(System.getProperty("line.separator"));
...
Рейтинг: 0 / 0
17.04.2012, 17:50:02
    #37757724
Mash6a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
Всем Спасибо!!!
...
Рейтинг: 0 / 0
17.04.2012, 17:59:40
    #37757750
Mash6a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
а если мне нужен не один символ, а вот от a до z - то как я буду писать условие ???
...
Рейтинг: 0 / 0
17.04.2012, 18:02:23
    #37757752
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
Mash6aа если мне нужен не один символ, а вот от a до z - то как я буду писать условие ???
Где нужен? Попытайтесь сформулировать вопрос, так чтобы он был понятен не только вам.
...
Рейтинг: 0 / 0
17.04.2012, 18:07:22
    #37757765
Mash6a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
Ну вот мы писали с=='.' и находили точку, а если мне не нужна точка а нужны символы англиского алфавита
...
Рейтинг: 0 / 0
17.04.2012, 18:14:10
    #37757775
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
        private Character[] filteredSymbols = {'a','b', 'c', 'd', 'e', 'f', 'g'};
    	private List<Character> filter= Arrays.asList(filteredSymbols);


//В методе
    	if(filter.contains(с)){
    		//Делаем что-то
    	}
...
Рейтинг: 0 / 0
17.04.2012, 18:20:37
    #37757785
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
текстовый файл
Character.isLetter(int)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / текстовый файл / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]