Ich muss lesen eine Textdatei in die Konsole, und dann schreiben es wieder drin. Ich konnte die Datei auf der Konsole lesen, aber wenn ich zurück schreibe und versuche, es beim nächsten Mal zu lesen, ist die Datei leer. Kann mir jemand sagen, wo ich Fehler mache?Java Schreiben in eine Textdatei
ist hier der Code für das Original File Lesen
public static ArrayList<Sales> readSaleData(ArrayList<Sales> sale) {
System.out.println();
ArrayList<Sales> sales = new ArrayList<Sales>();
Frame f = new Frame();
FileDialog saveBox = new FileDialog(f, "Reading text file", FileDialog.LOAD);
saveBox.setVisible(true);
String salePrice = saveBox.getFile();
String fileSavePlace = saveBox.getDirectory();
File inFile = new File(fileSavePlace + salePrice);
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader(inFile));
String line;
int weekCount = 0;
while (((line = in.readLine()) != null)) {
weekCount++;
System.out.println("Week " + weekCount + "\t$" + line.replace(",", " $"));
String[] saleData = line.split(",");
for (String data : saleData) {
double price = Double.parseDouble(data);
Sales s = new Sales(price);
sales.add(s);
}
}
} catch (IOException io) {
System.out.println("There Was An Error Reading The File");
io.printStackTrace();
} finally {
try {
in.close();
} catch (Exception e) {
}
}
return sales;
}
Und hier ist der Code für es in einer Textdatei Schreiben auf diese
public static void writeSaleToTextFile(ArrayList<Sales> s) {
Frame f = new Frame();
FileDialog foBox = new FileDialog(f, "Saving invoice information", FileDialog.SAVE);
foBox.setVisible(true);
String saleName = foBox.getFile();
String dirPath = foBox.getDirectory();
File outFile = new File(dirPath + saleName);
PrintWriter out = null;
try {
out = new PrintWriter(new BufferedWriter(new FileWriter(outFile)));
System.out.println("Going in");
for (int i = 0; i < s.size(); i++) {
Sales sale = s.get(i);
out.println(sale.toString());
System.out.println("This is the file size" + sale);
}
System.out.println("Coming Out");
}
catch (IOException io) {
System.out.println("An IO Exception occurred");
io.printStackTrace();
} finally {
try {
out.close();
} catch (Exception e) {
}
}
}
Sie keine Ausgabe erhalten Ändern Sie auf die Konsole beim Schreiben dieser Datei? Ich meine, Sie haben einige 'System.out.println' Aufrufe in Ihrer Methode. Was bekommst du? – Seelenvirtuose
Sie rufen keine Flush-Methode auf. Probieren Sie es aus und lassen Sie es uns wissen. –
@GD_Java - Aber er >> ruft '' 'close()', was einen Flush machen wird. –