Book bookInfo = new Book(bookTitle, author, publisher, brandCallNumber, numberOfCopies);
然后将这个变量添加到arrayList,我在程序中调用WriteToFile()方法。
AddBookDialog类的代码
public class AddBookDialog extends javax.swing.JDialog {
ArrayList<Book> books = new ArrayList<Book>();
/**
* Creates new form AddBook
*/
public AddBookDialog(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
}
private void jButtonSaveToLibraryActionPerformed(java.awt.event.ActionEvent evt) {
String bookTitle = jTextFieldTitle.getText();
String author = jTextFieldAuthor.getText();
String publisher = jTextFieldPublisher.getText();
String brandCallNumber = jTextFieldBranchCallNumber.getText();
int numberOfCopies = Integer.parseInt(jTextFieldCopies.getText());
Book bookInfo = new Book(bookTitle, author, publisher, brandCallNumber, numberOfCopies);
books.add(bookInfo);
WriteToFile();
this.setVisible(false);
}
private void WriteToFile()
{
WriteFile wf = new WriteFile("BookDetails.txt");
for(int i = 0; i < books.size(); i++)
{
Book b = books.get(i);
String bookDetails = b.getBookTitle() + " : " + b.getAuthorName() + " : " + b.getPublisherName() + " : " + b.getBranchCallNumber() + " : " + b.getNumberOfCopies();
wf.write(bookDetails);
}
wf.close();
}
WriteFile类的代码
public class WriteFile{
private FileOutputStream filename;
public WriteFile(String inputfilename)
{
try
{
filename = new FileOutputStream(inputfilename,false);
}
catch (IOException e) {}
}
public void write(String item)
{
PrintStream output = new PrintStream(filename);
output.println(item);
}
public void close()
{
try
{
filename.close();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
相反,当我尝试向该文件写入另一本书时,它反而覆盖了第一行
哈姆雷特:威廉莎士比亚:企鹅:FIC Shak:23
//《哈利·波特》的书中详细内容已被改写
问题内容: 我正在尝试编写一种方法(如果尚不存在),然后制作一个“ log.txt文件”,然后将其写入该文件。我遇到的问题是每次调用该方法时,它都会覆盖现有的日志。如何更改方法,以使它不会覆盖数据而是仅更新文件? 我的写入文件方法: 问题答案: 只需更改为
此代码从您要在editText中注册的熟人处接收信息,然后单击finButton将接收到的信息保存为一个名为FriendList.txt的文件。但是,当按下finButton时,将从当前执行的try-catch语句中输出Toast消息。此外,checkpermission也不起作用,它包装在try~catch语句中,但在logcat上没有输出。 和显化。 洛克卡特
问题内容: 目前,我有一个循环,试图通过在文件名字符串中添加后缀来查找未使用的文件名。一旦找不到文件,它将使用无法以该名称打开新文件的名称。问题在于此代码用于网站中,并且可能多次尝试同时执行同一操作,因此存在竞争条件。 如果在检查时间和另一个线程中的打开时间之间创建了一个文件,如何防止python覆盖现有文件。 我可以通过将后缀随机化来最小化机会,但是根据路径名的各个部分,机会已经被最小化了。我想
我想知道如何覆盖现有文件,而不是在文本接收器中自动创建新文件。 例如,如果我运行模型两次,它会创建两个文件。第二个文件是使用相同的定义文件名创建的,但名称后面有一个新数字,例如modelouput.txt、modeloutput.0.txt、modeloutput.1.txt. 如何摆脱这种自动创建版本号的方式,如果现有版本号存在,就直接覆盖它。
问题内容: 我正在尝试从文本文件中删除一行文本,而不将其复制到临时文件中。我正在尝试通过使用Printwriter和Scanner并让它们同时遍历文件来实现此目的,writer写Scanner读取的内容并用相同的东西覆盖每一行,直到到达我希望的行为止删除。然后,我前进扫描仪而不是写程序,然后像以前一样继续。这是代码: 但首先要使用参数:我的文件名是数字,因此它将显示为1.txt或2.txt等,因此
我试图在一个特定文件夹中保存多个图像第一个图像保存正确,但下一个图像只是替换第一个图像。如何保存多个图像?如何动态命名并使用相同的名称保存图像,但使用不同的扩展名,如image、image1、image2。。。下面是我的代码