мені просто потрібна ваша допомога. Я навчаюсь Java (OOP), і зараз днями ми працюємо над подачею. Але я застряг над тим, як додавати дані у файл. Я написав код і ось його частина, яка показує помилку. Може хтось, будь ласка, допоможе мені, що з цим не так і чому це не працює?
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();
}
}
Відповіді:
0 для відповіді № 1Можна спробувати,
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 для відповіді № 2
Створення текстового файлу (зауважте, що це замінить файл, якщо він уже існує):
PrintWriter writer = new PrintWriter("the-file-name.txt", "utf-8");
writer.println("The first line");
writer.println("The second line");
writer.close();
Створення двійкового файлу (також замінить файл):
byte dataToWrite[] = //...
FileOutputStream out = new FileOutputStream("the-file-name");
out.write(dataToWrite);
out.close();
Відповідь отримана від: Як створити файл і записати його на Java?
Якщо ви хочете використовувати FileWriter. Спробуйте наступний код:
//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();
РЕДАГУВАТИ Вам слід дотримуватися конвенцій і використовувати свої великі класи.