2013-08-03 4 views
3

Я хотел бы прочитать данные из файла tv, сохранить в arraylist, а затем распечатать данные на моем экране.Почему текст из файла документа не распечатывается?

package Testing; 

    import java.io.DataInputStream; 
    import java.io.DataOutputStream; 
    import java.io.File; 
    import java.io.FileOutputStream; 
    import java.io.FileReader; 
    import java.io.FileWriter; 
    import java.util.ArrayList; 
    import java.util.Scanner; 

    public class Options { 


     private static ArrayList<Object> tv1Holder = new ArrayList<Object>(); 
     private static Scanner inputData = new Scanner(System.in); 

     public static void main (String[] st){ 


      System.out.println("Hi och welcome to TV"); 
      System.out.println("What do you want to do?"); 
      System.out.println("1) Show guide for tv1"); 
      System.out.println("2) Show guide for tv2"); 
      System.out.println("3) Show and handle recordings"); 
      System.out.println("End"); 

      int intakeValue = inputData.nextInt(); 

      switch (intakeValue) { 

      case 1:showTv1(); 

      break; 

      case 2: showTv2(); 

      break; 

      case 3: showAndHandleRecordings(); 
      break; 

      case 4: end(); 
      default: 
       break; 
      }} 

      private static void showTv1(){ 

       Scanner scanIn = null; 
       try{ 
        scanIn = new Scanner(new FileReader("tv1.txt")); 

        while (scanIn.hasNextLine()){ 
         String[] s = scanIn.nextLine().split(" "); 

         for(String newSValues: s){ 
          System.out.println(tv1Holder.add(newSvalues)); 

         } 
        } 
       } 
       catch (Exception e) { 
        System.out.println("Error:" + e.getMessage()); 
       } 

      } 

tv1.txt файл содержит список телевизионных шоу, которые я хочу, чтобы хранить в ArrayList. На данный момент код выводит только «х» количество раз.

+0

HTTP: // Docs. oracle.com/javase/1.4.2/docs/api/java/util/ArrayList.html#add%28java.lang.Object%29 – x4rf41

ответ

4

Эта строка выводит результат функции add, которая является логическим значением (http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html#add(E)):

System.out.println(tv1Holder.add(newSvalues)); 

Чтобы напечатать строку, изменить его на:

System.out.println(newSvalues); 
tv1Holder.add(newSvalues); 
+0

благодарим за отзыв и ссылку! – user2649520

+0

@ user2649520: способ поблагодарить людей в SO - это принять их ответ. Если это сработало для вас, примите ответ, чтобы мы знали, что вопрос закрыт рабочим решением. – chr