How do I read data from a file into an array in Java?
I need help reading data from a text file into mine ArrayList
. The first part with creation and placement ArrayList
in a text file works fine. I just need help at the end on the "marked" area.
Please note that some of the IDs are in my native language.
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);
}
}
}
Compilation error theword cannot be resolved
.
a source to share
they keep telling me "word cannot be resolved" whenever I try to run this
This means it is theword
not advertised in the area. You cannot access it to call any methods. They are all right. You need to declare theword
in a wider scope or move the code that depends on theword
to the scope in which it was declared. Perhaps you declared it inside a block if
or while
or so, and you are trying to use it outside of the block where it was declared. It won't work.
A more detailed answer can be asked whenever you clean up the code to make it more readable.
a source to share