Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / извлечь часть текста / 11 сообщений из 11, страница 1 из 1
18.10.2012, 10:57:41
    #38003792
planetka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
извлечь часть текста
Здравствуйте! помогите записать часть текста в новый файл. Знаю, что править нужно что-то в цикле. Есть html-файл. в нем содержится фрагмент
Код: html
1.
2.
<H1 CLASS="western"><A NAME="_Toc318370973"></A>Газета «РБК
daily» 01.03.12</H1>

. Нужно из всего файла вытащить только этот фрагмент и записать в новый файл.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
private void parseFile(File f){
		try{
			BufferedReader br = new BufferedReader(new InputStreamReader(new
					FileInputStream(f), "UTF-8"));
			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new
					FileOutputStream("c:\\tmp\\abc3.html"), "UTF-8"));
			String strRead = null;
			
			while((strRead = br.readLine())!=null){
				bw.write(strRead);
				bw.newLine();
			}
			bw.close();
			br.close();
		}
		catch(Exception e){
			System.err.println("Error file");
		}
		 
	}
...
Рейтинг: 0 / 0
18.10.2012, 13:31:52
    #38004116
planetka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
извлечь часть текста
либо так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
private void parseFile(File f){
		try{
			InputStream in = new FileInputStream(f);
			OutputStream out = new FileOutputStream("c:\\tmp\\abc4.html");

			byte[] buf = new byte[1024];
			int len;
			while((len = in.read(buf))>0)
				
				
				out.write(buf, 0, len);
			in.close();
			out.close();
			
				
		}



тогда нужно считывать по байтам. помогите, пожалуйста
...
Рейтинг: 0 / 0
18.10.2012, 13:38:23
    #38004144
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
извлечь часть текста
Вопрос у вас какой? Что именно не получается? Если вы web crawler изобретаете, то возьмите уже готовый.
...
Рейтинг: 0 / 0
18.10.2012, 13:44:05
    #38004159
planetka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
извлечь часть текста
Blazkowicz,

1. где его взять??
2. мне нужно разбить входящий документ на несколько (инфу брать исходя из тегов) => нужно изять из файла необходимые тэги и создать новый файл с этим содержимым
...
Рейтинг: 0 / 0
18.10.2012, 13:54:46
    #38004194
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
извлечь часть текста
planetka1. где его взять??
http://java-source.net/open-source/crawlers/java-web-crawler

planetka2. мне нужно разбить входящий документ на несколько (инфу брать исходя из тегов) => нужно изять из файла необходимые тэги и создать новый файл с этим содержимым
Как вы начало-конец нужного блока определяете?

Идея примерно следующая. Читаете поисмвольно. (Смотрите интерфейс Reader). Складываете символы в буфер.
Если буфер "похож" на начало ключевого тэга. То следующий символ добавляете в буфер. Если буфер не похож на ключевой тэг, то сбрасываете буфер. Если буфер в точности совпадает, то переключаетесь в режим копирования - каждый считаный символ записываете в нужый вывод. При этом аналогично ищите закрывающий тег, чтобы из режима копирования перейти в режим поиска.
Это и многое другое можно подчерпнуть в статьях по синтаксическому анализу вроде этой:
http://rtads.org/man/TADSADV.HTM
...
Рейтинг: 0 / 0
18.10.2012, 14:10:08
    #38004222
planetka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
извлечь часть текста
Blazkowicz,

да, логика такая должна быть....буду реализовывать. Спасибо! Если встретятся примеры на похожую тематику - буду очень признательна
...
Рейтинг: 0 / 0
18.10.2012, 16:24:40
    #38004538
planetka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
извлечь часть текста
while((strRead = br.readLine())!=null){ -- это я читаю построчно??
...
Рейтинг: 0 / 0
18.10.2012, 16:33:58
    #38004564
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
извлечь часть текста
planetkareadLine -- это я читаю построчно??
Хм. Вопрос к словарю?
...
Рейтинг: 0 / 0
18.10.2012, 17:01:09
    #38004622
planetka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
извлечь часть текста
Blazkowicz,

нет,я понимаю,что это считывание строки. просто не могу сообразить как отсюда перейти к символам
...
Рейтинг: 0 / 0
18.10.2012, 17:06:33
    #38004633
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
извлечь часть текста
planetkaнет,я понимаю,что это считывание строки. просто не могу сообразить как отсюда перейти к символам
Примерно тоже самое что у вас в первом примере. Только обязательное перейти к BufferedReader+InputStreamReader, чтобы читать посимвольно, но всё ещё через буфер.
Не брезгуйте вот этим сайтом
http://www.exampledepot.com/
...
Рейтинг: 0 / 0
18.10.2012, 17:09:18
    #38004640
planetka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
извлечь часть текста
Blazkowicz,

Спасибо большое =)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / извлечь часть текста / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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