2015-09-13 3 views
0

Мой текстовый файл включает в себя:Как получить один элемент из текстового файла с помощью ArrayList?

  • Мэри, 123, s100,59.2
  • Мелинда, 345, A100,10.1
  • Хонг, 234, S200,118.2
  • Ahmed, 678, S100,58.5
  • Рохан, 432, S200,115.5
  • Питер, 654, S100,59.5

Мой код:

public static void main(String[] args) throws IOException 
    { 
    BufferedReader br = new BufferedReader(new FileReader("competitors.txt")) ; 
     String line; 
     ArrayList<String> lines = new ArrayList<String>(); 

     while ((line = br.readLine()) != null) 
     { 
      lines.add(line); 
     }   
     String[] lineobject= {lines.get(0)}; 
     System.out.println(lineobject[0]); 
    } 
} 

Я не знаю, почему он не может получить одно значение первого ряда, кто может помочь? Спасибо.

+1

Каков результат вашего кода? – lifeisfoo

+0

Какой выход вы хотите? – Tunaki

+0

Mary, 123, s100,59.2 – Sam

ответ

0

lines.get (0) является "Мэри, 123, s100,59.2", а не { "Мэри", "123", "s100", "59,2"}

Итак, вы должны это сделать;

String[] lineobjects = lines.get(0).split(","); 
System.out.println(lineobjects); 
System.out.println(lineobjects[0]); // prints "Mary" 
0

Ваш код отлично подходит для меня. Однако вы должны поместить файл compet.txt в правильный каталог.

Это проще и должны также сделать работу:

public static void main(String[] args) throws IOException { 
    List<String> lines = Files.readAllLines(Paths.get("competitors.txt")); 
    System.out.println(lines.get(0)); 
} 
0

Вы можете заменить строку с некоторыми еще знаками вместо использования , (я использую % в моем случае), и разделить с помощью .split("%"), а затем сохранить в векторном файле ..

  Vector data; 
      Vector columns; 
      String line; 
       data = new Vector(); 
       columns = new Vector(); 

    try { 
         FileInputStream fis = new FileInputStream(PRJT_PATH+"\\YOUR\\PROJECT\\"+PATH); 
         BufferedReader br = new BufferedReader(new InputStreamReader(fis)); 
         StringTokenizer st1 = new StringTokenizer(br.readLine(), " "); 
         while (st1.hasMoreTokens()) 
           columns.addElement(st1.nextToken()); 
         int i=0; 
         while ((line = br.readLine()) != null) { 

           StringTokenizer st2 = new StringTokenizer(line, " "); 
           while (st2.hasMoreTokens()){ 
             data.addElement(st2.nextToken());} 
           String clr[]=line.split("%"); 
           Vector v=new Vector(); 

           v.add(clr[0]); 
           v.add(clr[1]); 
           i++; 
         } 
         br.close(); 
         fis.close(); 
       } catch (Exception e) { 
         e.getMessage(); 
       } 
Смежные вопросы