2016-12-14 1 views
0

У меня есть текстовый файл, который содержит следующее содержимое. Я пытался проверить свой код и заметил, что файл, который я вводил для своего сканера, состоит только из одной строки. Почему это так ?, когда я открываю текстовый файл, кажется, что он имеет несколько строк.Как изменить текстовый файл так, чтобы он состоял из нескольких строк?

Когда я открываю это excel, он показывает несколько строк. Однако, когда я программирую это, он отображает все это в одной строке. Как я могу изменить эту файловую структуру таким образом, что она будет иметь несколько строк

текстовый файл:

categories 
Fast Food;Restaurants 
Nightlife 
Active Life;Mini Golf;Golf 
Bars;American (New);Nightlife;Lounges;Restaurants 
Active Life;Golf 
Bars;American (Traditional);Nightlife;Restaurants 
Auto Repair;Automotive;Tires 
Active Life;Mini Golf 
Roofing;Home Services;Decks & Railing;Contractors 
Veterinarians;Pets 
Libraries;Public Services & Government 
Automotive;Auto Parts & Supplies 
Burgers;Breakfast & Brunch;American (Traditional);Restaurants 
Food;Grocery 
Automotive;Gas & Service Stations 
Local Services;Dry Cleaning & Laundry;Sewing & Alterations 
Automotive;Gas & Service Stations 
Bars;American (Traditional);Nightlife;Lounges;Restaurants 
Breakfast & Brunch;Sandwiches;Restaurants 
Cafes;Restaurants 
Hotels & Travel;Event Planning & Services;Hotels 
Pubs;Irish;Nightlife;Bars;Restaurants 
Pizza;Restaurants 
Local Services;Sewing & Alterations 
Restaurants 
Health & Medical;Dentists;General Dentistry 
Chinese;Restaurants 
Veterinarians;Pets 

код:

public class TestScanner { 

    public static void main(String[] args) throws FileNotFoundException { 
     int count = 0; 
     Scanner scanner = new Scanner(new File("C:/data/test3.txt")); 
     scanner.useDelimiter(";"); 
     while(scanner.hasNextLine()){ 
      System.out.print(scanner.nextLine()); 
      count++; 

     } 
     scanner.close(); 
     System.out.println(count); 

    } 

} 

Выход: 1

+0

Ваш код в порядке. Я подозреваю, что ваш файл test3 имеет только одну пустую строку. Пожалуйста, проверьте это. – Thrasher

+1

Возможно, ваш текстовый редактор использует перенос слов. Откройте txt-файл в блокноте ++ и перейдите в режим просмотра> символов> показать все символы. Это покажет вам, содержит ли ваш файл символы разделителя записей, т. Е. \ N (LF) или \ r \ n (CRLF). – rafaelbattesti

+0

ваш код работает отлично !! –

ответ

-1

Вы не изменить текстовый файл. Вероятно, вам нужно изменить код. Попробуйте следующее:

FileReader fileReader = new FileReader("C:/data/test3.txt"); 
LineNumberReader lineNumberReader = new LineNumberReader(fileReader); 
String tmp = null; 
while ((tmp = lineNumberReader.readLine()) != null) { 
    count++; 
    System.out.println(tmp); 
} 

lineNumberReader.close(); 
System.out.println(count); 

Он будет обрабатывать текстовый файл как текст с несколькими строками.

+0

Я думаю, проблема OP в текстовом файле. Если у вас нет текста в нескольких строках в файле, ваш метод не будет работать. В противном случае любой читатель может удовлетворить потребность OP. –

+0

@WasiAhmad Я запустил код OP и текстовый файл. И действительно, это дало мне одну строку. Затем я сменил код точно таким же текстовым вводом и дал несколько строк. Кстати, текстовый файл находится в нескольких строках. – Nurjan

+0

Я запустил код OP, и он работал отлично, и да, текстовый файл должен содержать несколько строк. –

Смежные вопросы