【问题标题】:Make a new filename if old file exists如果旧文件存在,则创建一个新文件名
【发布时间】:2015-08-31 00:56:38
【问题描述】:

我正在尝试检查文件是否存在。如果它只是想增加新的文件名。所以这就是我所做的:

File gpxfile = new File(root, "Avvikelserapport" + dateofday.getText().toString() + customer.getText().toString() + ".pdf");
    int counter = 0;
    if (gpxfile.exists())
    {
        counter = counter + 1;
        File newfilename = new File(root, "Avvikelserapport" + dateofday.getText().toString() + customer.getText().toString() + counter + ".pdf");
        PdfWriter.getInstance(document, new FileOutputStream(newfilename));
    }
    else
    {
        PdfWriter.getInstance(document, new FileOutputStream(gpxfile));
    }

问题是我认为我的计数器有误,因为它只创建一个新文件一次。

例如。

如果我有一个名为“File.pdf”的文件,然后检查它是否存在,它会创建一个新名称“File1.pdf”,但之后它不会创建一个名为“File2.pdf”的新文件。

【问题讨论】:

  • 计数器永远不会 > 1
  • 啊。计数器++;也许更好
  • 不行,你需要做一个循环
  • 最好将 counter 设为全局变量,然后递增该值,这样它就不会一次又一次地变为零

标签: android file file-exists


【解决方案1】:

试试这个:

    int counter=0;
    File gpxfile = new File(root, "Avvikelserapport" + dateofday.getText().toString() + customer.getText().toString() + ".pdf");
    while(gpxfile.exists())
    {
        counter = counter + 1;
        gpxfile = new File(root, "Avvikelserapport" + dateofday.getText().toString() + customer.getText().toString() + counter + ".pdf");

    }
    PdfWriter.getInstance(document, new FileOutputStream(gpxfile));

【讨论】:

    猜你喜欢
    • 2016-06-18
    • 1970-01-01
    • 2012-04-08
    • 2011-01-19
    • 2014-01-02
    • 1970-01-01
    • 2013-09-18
    相关资源
    最近更新 更多