Как читать данные из файла в массив в Java? - PullRequest
0 голосов
/ 06 мая 2010

Мне нужна помощь в чтении данных из текстового файла в мой ArrayList. Первая часть с созданием и помещением ArrayList в текстовый файл работает отлично. Мне просто нужна помощь в конце в «отмеченной» области.

Обратите внимание, что некоторые идентификаторы на моем родном языке.

public class ContAngajat {   
   String username;
   String password;
}

public class CreazaCont {

// creating the arraylist and putting it into a file 

public static void  ang(String args[])   { 

    ArrayList<ContAngajat> angajati=new ArrayList<ContAngajat>(50);

 Scanner diskScanner = new Scanner(in);

 Scanner forn = new Scanner(in);


 int n;

     out.print("Introduceti numarul de conturi noi care doriti sa le introduceti: ");
     n=forn.nextInt();
  out.println();

     try{

    FileWriter fw = new FileWriter("ConturiAngajati.txt", true);


    for(int i=0; i<n; i++){
  ContAngajat cont = new ContAngajat();

  out.print("Username: ");
  cont.username=diskScanner.nextLine();


  out.print("Password: ");
  cont.password=diskScanner.nextLine();

  angajati.add(cont);

  fw.write(cont.username + " ");
  fw.write(cont.password +"|");


  }
  fw.close();
     }
     catch(IOException ex){

      System.out.println("Could not write to file");

      System.exit(0);
     }




 for (int i=0; i<n; i++) {
  out.println("username: " + angajati.get(i).username + "  password: " +angajati.get(i).password );

 }


  }


// HERE I'M TRING TO GET THE ARRAYLIST OUT OF THE FILE

public static void  RdAng(String args[])   { 

 ArrayList<ContAngajat> angajati=new ArrayList<ContAngajat>(50);
 ContAngajat cont = new ContAngajat();
 int count,i2,i;

 try{


   FileReader fr = new FileReader("ConturiAngajati.txt");
   BufferedReader br = new BufferedReader(fr);

   String line = "";


   while((line=br.readLine())!=null) {

   String[] theline=line.split("|"); 
   count=theline.length;

   for(i=0;i<theline.length;i++) {

   String[] theword = theline[i].split(" "); 
  }     

   }   

   for(i2=0;i2<count;i2++)  {

   ContAngajat contrd = new ContAngajat();

// "ERROR" OVER HERE 

 for (int ird=0; ird <theword.length; ird++) {  

 cont.username=theword[0];
     cont.password=theword[1];

// they keep telling me "theword cannot be resolved" whenever i try to run this

}
       angajati.add(contrd); 
 }

 } 


 catch(IOException ex){

      System.out.println("Could not read to file");

      System.exit(0);
     }
}


}

Ошибка компиляции theword cannot be resolved.

1 Ответ

2 голосов
/ 06 мая 2010

они продолжают говорить мне, что «слово не может быть разрешено» всякий раз, когда я пытаюсь запустить это

Это означает, что theword не объявлено в области.Вы не можете получить к нему доступ, чтобы вызвать какие-либо методы. Они правильно поняли.Вам необходимо объявить theword в более широкой области или переместить код, который зависит от theword, в область, где он был объявлен.Возможно, вы объявили его внутри блока if или while или около того, и вы пытаетесь использовать его вне блока, в котором он был объявлен.Это не сработает.

Более подробный ответ может быть дан всякий раз, когда вы очищаете код, чтобы он лучше читался.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...