2015-06-24 3 views
-1

Что я пытаюсь сделать здесь, это получить то, что находится внутри файла data/txt, и сохранить его в массиве. Прямо сейчас я просто пытаюсь сделать String, но в конечном итоге мне хотелось бы получить все в файле для вывода. Это то, что находится внутри текстового файла:Прочитайте данные из файла и сохраните их в массиве для вывода списка

Гондурас 130 Тегусигальпа Куба 100 Habanna

Я бы для вывода такой же в Java.

import java.io.File; 
import java.util.Scanner; 
import java.util.ArrayList; 


public class ReadCountries2 
{ 
    public static void main(String [] args)throws Exception 
    { 
     String fName = "/Users/Edward Lavaire/Downloads/Countries.txt"; 
     Scanner s = new Scanner(new File(fName)); 

     String name [] = new String[6]; 

     while(s.hasNext()) 
     { 
      int i = 0; 
      name[i] = s.next(); 
      System.out.println(name[i]); 
      i++; 
     } 
    } 
} 
+1

возможно дубликат [Java прочитать файл и хранить текст в массиве] (http://stackoverflow.com/ вопросы/19844649/java-read-file-and-store-text-in-an-array) – Waog

+0

есть ли способ сделать это без ? –

+0

Возможно. Но List - это, безусловно, ваш лучший вариант. Это java способ хранения произвольного количества данных. Массивы фиксированного размера. – Waog

ответ

1

Вы всегда пишу name[0], потому что каждый раз, когда вы Переберите ваш while вы объявляете:

int i = 0; 

Так что ваш i++ довольно много бесполезной.

0

Просто поставить вне цикла определение переменной i вместо того, чтобы установить его в 0

import java.io.File; 
import java.util.Scanner; 
import java.util.ArrayList; 


public class ReadCountries2 
{ 
    public static void main(String [] args)throws Exception 
    { 
     String fName = "/Users/Edward Lavaire/Downloads/Countries.txt"; 
     Scanner s = new Scanner(new File(fName)); 

     String name [] = new String[6]; 
     int i = 0; 
     while(s.hasNext()) 
     { 

      name[i] = s.next(); 
      System.out.println(name[i]); 
      i++; 
     } 
    } 
} 
Смежные вопросы