Création d'un programme qui va écrire les données de la liste de tableau dans un fichier texte et je rencontre ce FileNotFoundException
même si le fichier existe. En même temps, les données calculées de mon tableau ne lui sont pas écrites.Solution FileNotFoundException?
Ceci est mon code:
public static void payrollReadFromFile(String filename) {
// initializes br identifer as BufferedReader.
BufferedReader br = null;
payrolls.clear(); // removes all elements in arraylist employees
try {
br = new BufferedReader(new FileReader("payroll.txt"));
try {
String name;
double gincome, nincome, deduc, sss, pagibig,
phil = 0; // initialize identifiers
// reads each line through br identifier, and
stores it on
// temporary identifiers
// loop continues until null is encountered
while ((name = br.readLine()) != null) {
gincome = Double.parseDouble(br.readLine());
sss = Double.parseDouble(br.readLine());
pagibig =
Double.parseDouble(br.readLine());
phil = Double.parseDouble(br.readLine());
deduc = Double.parseDouble(br.readLine());
nincome =
Double.parseDouble(br.readLine());
// adds the data to payroll arraylist
payrolls.add(new Person(name, gincome,
sss, pagibig, phil,deduc, nincome));
}
} finally {
br.close(); // closes BufferedReader
}
} catch (IOException e) {
e.printStackTrace();
}
}
// method which writes data into parameter 'filename'
// uses PrintWriter and FileWriter
public static boolean payrollWriteToFile(String filename) {
boolean saved = false;
PrintWriter pw = null; // pw is a PrintWriter identifier
try {
// instantiate pw as PrintWriter, FileWriter
pw = new PrintWriter(new FileWriter("payroll.txt"));
try {
// for each loop. each data from payrolls is
written to parameter
for (Person payroll : payrolls) {
pw.println(payroll.getName());
pw.println(payroll.getGincome());
pw.println(payroll.getSss());
pw.println(payroll.getPagibig());
pw.println(payroll.getPhil());
pw.println(payroll.getDeduc());
pw.println(payroll.getNincome());
}
saved = true;
} finally {
pw.close();
}
} catch (IOException e) {
e.printStackTrace();
}
return saved;
}
Où se trouve le fichier payroll.txt dans le système de fichiers? – jsedano
@anakata il est dans mon espace de travail situé dans son dossier de projet. Même si je n'ai pas spécifié l'emplacement du fichier txt, il sera écrit à cet endroit, ai-je raison? – NewInJava
Pourriez-vous s'il vous plaît nous donner la trace de la pile - le fouillis de code qui imprime quand une exception se produit? En outre, les noms de chemin sont relatifs à l'emplacement du fichier '.class' - déterminez l'emplacement et déplacez votre fichier en conséquence. – MathSquared