Java 如何使用new BufferedWriter(new FileWriter())的一个实例写入文件;用不同的方法
由于Java 如何使用new BufferedWriter(new FileWriter())的一个实例写入文件;用不同的方法,java,file-io,io,Java,File Io,Io,由于bufferwriter位于try-catch块中,因此在不创建新文件的情况下,我无法在单独的方法中使用同一实例。我不想从文件中读取和修改信息,因为这可能会与此程序的未来开发冲突 所以我的问题是如何在不创建新的bufferwriter实例的情况下写入同一个文件 private void writeStudentInfo(){ BufferedWriter writer = null; try { writer = new BufferedWr
bufferwriter
位于try-catch块中,因此在不创建新文件的情况下,我无法在单独的方法中使用同一实例。我不想从文件中读取和修改信息,因为这可能会与此程序的未来开发冲突
所以我的问题是如何在不创建新的bufferwriter
实例的情况下写入同一个文件
private void writeStudentInfo(){
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter("C:/" +
this.getStudentRegistrationNumber() + ".txt", true));
// Write to file here
} catch (IOException e) {
System.err.println(e);
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
System.err.println(e);
}
}
}
}
第二种方法:
private void WriteStudentMarks(){
//I want to use the same instance of BufferWritter in this method for writtng.
// So I can use the 'writer' object to continue writting into the file.
}
您可以简单地将引用传递给每个方法的编写器,例如
private void WriteStudentMarks(BufferedWriter writer){
然后简单地调用该方法
BufferedWriter writer = null;
//...
WriteStudentMarks(writer);
//...
您也可能希望通读,这将使人们更容易阅读您的代码…但是每次我通过WriteStudentMakrs(writer)方法时,我都会创建BufferedWriter()的新实例,因为WriteStudentMarks()方法中包含一个新实例。这将在每次我将该方法调用到另一个方法时创建一个新文件,而我只想创建一个文件,在我将该方法调用到另一个方法时添加到该文件中不,您不会。您可以在
writeStudentInfo
中创建一个实例,并将指向该实例的“指针”传递给每个方法。如果我给你一个冰淇淋,它会创造一个新的冰淇淋实例吗?(我希望如此…)我不明白我将如何使用WriteStudentMarks(writer)进行写作另一个方法中的code>method,如果该方法中有我想写入WriteStudentInfo()
方法中的bufferwriter
对象。那么,假设您也需要将您想要写入的内容传递给该方法……是的,但对于每个不同的方法,我需要一个单独的WriteStudentInfo()
,采用不同的参数,因为我用不同的方法编写不同的信息。例如WriteStudentMarks(int-examMaths,ExamEnglish)
然后在另一种方法writeStudentPersonalInfo(String-firstName,String-SecondName,int-student-registration)
中,这将意味着创建bufferedwriter
的新实例