Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Вывод текстового файла


Автор: Sliva 31.7.2007, 00:44
Я новичок в java? помогите, пожалуйста! Мне надо, Чтобы данные, которые я считываю со cтраницы (через url ) заносились в файл построчно, т.е. идет так: 
<html> <title> <head> ... {искомый текст } </body> <html> 
И надо, чтобы исходный текст, записанный абзацами также переносился в файл. 
Я пишу так: 
Код

public class classRead {
    public static void Load(String fname){
       if ((fname == null) || (fname.length() == 0)) return;
        File f;
         FileReader in = null;
      try {  
          f = new File (fname);
          OutputStream f0 = new FileOutputStream ("f1.txt");
                  
          in = new FileReader(f);
         StringBuffer strBuffer = new StringBuffer(5 * 1024);
          int len;
          char[] data = new char[4096];
            while ((len = in.read(data)) != -1){
            String s = new String (data, 0, len);
                      strBuffer.append(data, 0, len);
                
    {ОБРАБОТКА строки заносятся по шаблону}       Pattern headPattern = Pattern.compile("<div><strong>(.*)", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE & Pattern.DOTALL);
           Matcher headMatcher = headPattern.matcher(strBuffer);
             while(headMatcher.find()){
               System.out.println("**********: " + headMatcher.group(1));
              if (headMatcher.find()){
                      byte buf[] = s.getBytes();  
                     f0.write(buf);
                     }
             }  //while
             
             
            System.out.println(s);                
              }
        }
          catch (IOException e) {
                  System.out.println(e);   
                  }      
        }  // public class Load

Автор: ecologist 31.7.2007, 08:09
А можно попонятнее - тебе надо сделать форматирование текста gjkextyyjuj РЕЬД по какому-то формату, но вот что за формат тебе надо - я не понял.

Автор: Sliva 31.7.2007, 12:58
Просто вывод текстового файла, но чтобы каждый абзац был на новой строке (данные считываются из html - страницы)

Автор: LSD 31.7.2007, 13:29
Используй BufferedWriter
Код
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("f1.txt"), "UTF-8"));
writer.write("text");
writer.newLine();

Автор: AntonSaburov 31.7.2007, 17:18
Цитата(Sliva @  31.7.2007,  12:58 Найти цитируемый пост)
Просто вывод текстового файла, но чтобы каждый абзац был на новой строке 

А что является абзацем ?

Автор: dorogoyIV 1.8.2007, 08:01
Цитата(AntonSaburov @  31.7.2007,  17:18 Найти цитируемый пост)
А что является абзацем ?

скорее всего "перевод строки+табулятор"
======
но кажется в html нет табулятора? я не помню.
тогда какой нибудь тэг, который его заменяет.

Автор: Sliva 1.8.2007, 08:13
Все! Спасибо! Я поняла! 

Автор: Sliva 1.8.2007, 15:06
А еще такой вопросик: 
вот записываю данные в файл, а он почему-то пустой  smile 
Код

  BufferedWriter w = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("out.txt"), "UTF-8"));
      InputStream is = hp.openStream();
      BufferedReader in = new BufferedReader(new InputStreamReader(is));
      String result="";
      String line="";
        while((len = in.read( )) != -1)
        {
          line=in.readLine();
          result+=line;
          System.out.println(line);
          w.write(line);
          w.newLine();
        }
        w.write(result);            
              }

Что здесь не хватает?  smile 

Автор: AlexeyVorotnikov 1.8.2007, 15:37
Цитата(Sliva @  1.8.2007,  16:06 Найти цитируемый пост)
Что здесь не хватает?

w.close()

Автор: Metal_Heart 1.8.2007, 16:11
добавь после w.write(result);   
Код

w.flush(); // принудительно выбросить данные в файл :)
w.close();

Автор: Sliva 1.8.2007, 16:15
 smile  Спасибо, работает, но почему-то файл выводится совершенно  в другой директории

Автор: LSD 1.8.2007, 16:18
Файл создается в текущей директории.

Автор: Metal_Heart 1.8.2007, 16:20
Цитата(Sliva @  1.8.2007,  16:15 Найти цитируемый пост)
 smile  Спасибо, работает, но почему-то файл выводится совершенно  в другой директории 

 smile 

а ты можешь указать любую директорию:
new FileOutputStream(полный_путь_к_файлу);

Автор: Sliva 2.8.2007, 09:03
 smile  Спасибо! Я исправила, это была моя неточность  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)