当前位置: 首页 > 面试题库 >

每次我使用格式化程序在txt中写入内容时,以前的东西写操作都会被删除?如何避免这种情况?

澹台华晖
2023-03-14
问题内容
import java.io.FileNotFoundException;
import java.lang.SecurityException;
import java.util.Formatter;
import java.util.FormatterClosedException;
import java.util.NoSuchElementException;
import javax.swing.JOptionPane;

public class CreateTextFile {
    private Formatter output; //object used to output text to file
    private Order order;
    //enable user to open file 
    public void openFile()
    {
        try
        {
            output=new Formatter("src\\Orders.txt");//pen the file
        }//end try
        catch(SecurityException securityException)
        {
           JOptionPane.showMessageDialog(null,"You do not have the write access to this file.","Error", JOptionPane.ERROR_MESSAGE);
            System.exit(1);//terminate the program
        }//end catch
        catch(FileNotFoundException filenotfoundexception)
        {
           JOptionPane.showMessageDialog(null,"Error opening or creating file.","Error", JOptionPane.ERROR_MESSAGE);
            System.exit(1);//terminate the program
        }//end catch
    }//end method openFile

    //add records to file
    public void addOrderstoSalesmen(String Description,String Date, double poso,int salesman,Employee currentEmployee)
    {
        try //output values to file
        {
            //retrieve data to be ouput
                    order=new Order(Description,Date,poso,salesman);
                   Salesman employee=(Salesman) currentEmployee;

                    employee.addOrder(order);
                    employee.setGrossSales(salesman);
                    output.format("%s,%s,%.0f\n",order.getDescription(),order.getDate(),order.getSales());
        }//end try
        catch(FormatterClosedException formatterclosedexception)
        {
           JOptionPane.showMessageDialog(null,"Error writing to file.","Error", JOptionPane.ERROR_MESSAGE);
            return;
        }//end catch
        catch(NoSuchElementException elementexception)
        {
           JOptionPane.showMessageDialog(null,"Invalid input.Please try again.","Error", JOptionPane.ERROR_MESSAGE);
        }//end catch

    }//end method addRecords
    public void CloseFile()
    {
        if(output!=null)
            output.close();

    }//end method closeFile

}//end class CreateTextFile

问题答案:

您可能正在打开,写入,关闭文件,然后重复。每次打开文件进行写入时,其内容都会被清除干净。您可以通过以下任一方法解决此问题:

  1. 完成所有写入后,打开,写入,写入,…,写入并仅关闭文件。

  2. 以追加模式打开文件,因此不会清除旧内容。



 类似资料:
  • 问题内容: 我来自PHP背景,想知道是否可以用Python做到这一点。 在PHP中,您可以用一块石头杀死2只鸟,如下所示: 代替: 我可以做这个: 您检查是否存在,如果存在,则在一条语句中将其分配给变量。 我想知道是否可以用Python做到这一点?因此,不要这样做: 避免写两次。 问题答案: 可能不完全是您的想法,但是… 这个?

  • 在这种情况下是否可以避免ArrayIndexOutOfBoundsException??

  • 问题内容: 我使用twitter-boostrap,我想在表单中使用这些单选按钮。问题是,当我单击这些按钮中的任何一个时,将立即提交表单。如何避免这种情况?我只想使用默认按钮,例如单选按钮。 从: javascript: 问题答案: 根据优良的HTML5规范: 甲 按钮 没有元素 类型 指定属性表示相同的事情与它的类型属性集的按钮元件到 “提交” 。 并且a 提交表单而不是像简单的按钮那样操作。

  • 比如我有如图所示的代码 当我调试代码的时候添加一个单独的 return 此时我点击保存,自动格式化的时候会把后面的给删除了 我希望保留自动格式化的同时,希望遇到这种情况不要删除后面的代码,应该如何更改配置文件?

  • Eclipse以一种或另一种方式格式化代码,每次使用时交替地前后翻转特定的代码位。 我在这里做错了什么? 以下是第一种状态: 这与这交替: null 因此,感谢所有使用Ctrl+Shift+F调用格式化程序的人--这打开了一盏灯,因为我意识到我一直在使用Ctrl+S。

  • 我正在浏览Apache FOP快速入门。从命令行,我将一个包含svg元素的简单xml文件转换成pdf文件。我可以做到这一点,但由svg生成的图像被切断。我不熟悉XSL-FO 以下是xml: 下面是xsl: 图像应该显示红色 我缺少了哪些属性,如何才能正确显示整个svg图像(两个完整的圆圈重叠)? 谢谢, 勃兰特 附言:我会发一张图片来展示这个问题,但是我没有足够高的声誉。