2014-12-23 4 views
3

Каждый раз, когда я делаю что-то вродеJava Outprinting Большая линия файла По линии

BufferedReader br = new BufferedReader(new FileReader(f)); 
     String line; 
     while ((line = br.readLine()) != null) { 
      System.out.println(line); 
     } 
     br.close(); 

Он не будет outprint построчно. Вместо этого он будет отставать в течение 2-3 секунд, а затем показывать все сразу. Я пробовал использовать методы сна и т. Д. Как я могу это сделать, поэтому требуется время и проходит через каждый, а не просто отставание и выплевывание всего этого сразу?

+0

Какое содержимое вашего файла? дать примерный вывод – varun

+0

Вы уверены, что у файла есть символы новой строки? В редакторе сделать окно больше и строки не должны переформатировать. В Linux или OS X запустите «cat | od -c ', чтобы увидеть \ r \ n (окна newlines) или \ n (* nix newlines) – HankCa

+0

О, и комбинация различных строк новой строки вызовет проблему, как вы описываете. – HankCa

ответ

4

Попробуйте промыть выход.

System.out.flush(); 

После каждого System.out.println

+0

Что делать, если бы не было отпечатать его? Что делать, если я просто запускаю пустоты для каждой строки. – Bug

+0

Что вы подразумеваете под «бегущими пустотами»? Является ли файл пустым файлом с множеством новых строк? – hofan41

+0

Для каждой строки в файле я отправляю ее на веб-сайт для авторизации. Он отпечатывает каждое разрешение. Вместо того, чтобы печатать, а затем приостанавливать, чем печатать. Он отстает на 2-3 секунды, затем отпечатывает каждую вещь – Bug

2

Это, вероятно, потому, что ваш файл не имеет возврата каретки в конце каждой строки. Таким образом, он рассматривает весь файл как одну строку.

+0

Я согласен с этим. – niceman

+0

Это не так, потому что я бегу пустоты для каждой строки – Bug

+0

@Master Что значит? – haley

0

Попробуйте отправить строки в список массивов. Посмотрите, содержит ли аррайалист каждую строку. Затем попробуйте выполнить итерацию списка массивов на кусок сайта куском.

BufferedReader br = new BufferedReader(new FileReader(f)); 
ArrayList<String> list = new ArrayList<String>(); 

     String line; 
     while ((line = br.readLine()) != null) { 
      list.add(line); 
     } 
     br.close(); 

     for(String one_line: list){ 
     //send lines to website: 
     //sendLine(one_line); 
     } 
Смежные вопросы