Potrzebuję tylko twojej pomocy. Uczę się java (OOP) i teraz dni pracujemy nad archiwizacją. Ale utknąłem, jak dołączyć dane do pliku. Napisałem kod i oto część, która pokazuje błąd. Czy ktoś może mi pomóc, co jest z nią nie tak i dlaczego nie działa?
package appending;
import java.io.FileNotFoundException;
import java.util.Formatter;
import java.util.Scanner;
import java.io.FileWriter;
import java.io.BufferedWriter;
public class open {
Formatter output;
public void openFile() throws FileNotFoundException {
output = new Formatter("E:/thisFile.txt");
}
public void addData() {
Scanner input = new Scanner(System.in);
data d = new data();
System.out.println("Enter the data");
d.setData(input.next(),input.nextInt());
output.format("%s","Name and CMS:t"+d.getData());
FileWriter fileWritter = new FileWriter(File.getPath(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(d.getData());
bufferWritter.close();
}
public void close() {
output.close();
}
}
Odpowiedzi:
0 dla odpowiedzi № 1Mogę spróbować,
public class FileAppend {
public static void main(String[] args) {
PrintWriter out = null;
try{
out = new PrintWriter(new BufferedWriter(new FileWriter("/home/rakesh/myfile.txt", true)));
out.println("appended text");
} catch(Exception e){
e.printStackTrace();
} finally{
out.close();
}
}
}
0 dla odpowiedzi nr 2
Tworzenie pliku tekstowego (pamiętaj, że spowoduje to zastąpienie pliku, jeśli już istnieje):
PrintWriter writer = new PrintWriter("the-file-name.txt", "utf-8");
writer.println("The first line");
writer.println("The second line");
writer.close();
Tworzenie pliku binarnego (spowoduje również zastąpienie pliku):
byte dataToWrite[] = //...
FileOutputStream out = new FileOutputStream("the-file-name");
out.write(dataToWrite);
out.close();
Odpowiedź otrzymana od: Jak utworzyć plik i napisać do niego w Javie?
Jeśli chcesz użyć FileWriter. Wypróbuj następujący kod:
//FileWriter fw = new FileWriter(new File("path/to/test.txt"), true);
FileWriter fw = new FileWriter("path/to/test.txt", true);
fw.write("This is a sentence");
fw.close();
EDYTOWAĆ Powinieneś postępować zgodnie z konwencjami i kapitalizować swoje zajęcia.