为文件添加动态名称

时间:2016-06-27 08:06:58

标签: java file for-loop output jfilechooser

我创建了一个创建txt文件的按钮,这里一切正常。

但问题是当我创建第一个:TXT文件时,我不知道我需要什么或我需要做什么,以动态继续创建TXT文件。

这是我的代码:

int c;
c = 0;
c++;
String Name = "TXT" + c +".txt";
File TXT = new File(Name);
TXT.createNewFile();

这创建一个:TXT1.txt 但是没有创建TXT2.txt,TXT3.txt等等。

我希望动态增加数字。谢谢你的阅读。

3 个答案:

答案 0 :(得分:2)

将其包裹在for循环中并排除计数器,如下所示:

for(int i = 1; i < yourMaximumRun; ++i)
{

    String Name = "TXT" + i +".txt";
    File TXT = new File(Name);
    try
    {
        TXT.createNewFile();
    }
}

答案 1 :(得分:1)

如果这是您方法中的代码,则c始终以0开始并递增为1.

如果再次按下该按钮,c将再次以0启动并递增。您需要将c保留在方法之外的某个位置,而不是每次都重新初始化它。

答案 2 :(得分:0)

  

1)内外对抗:

     

如果在方法中声明对象,则只能在方法中看到它   这种方法。基本上,如果你在它周围放置括号,它只是   从这些括号中可见/可访问。

     

如果在方法之外(类内)声明对象,则为它   取决于访问修饰符。默认情况下,它是可见/可访问的   从那个班级和整个包中。

     

2)静态

     

静态意味着此Object / Variable属于类本身,   而不是它的对象

source

为了模拟按钮点击,我制作了这个小代码:

package main.application;

import java.io.File;
import java.io.IOException;

public class Main {

    private static int incrementFileName = 1;
    private static final String PATH = "C:\\Users\\user\\Desktop\\";

    public static void main(String[] args) throws IOException {

        //Each time the button is pressed.
        for (int c = 0; c < 5; c++)
        {
            incrementFileName++;
            buttonClicked();
        }
    }

    private static void buttonClicked() throws IOException
    {
        String Name = "TXT" + incrementFileName +".txt";
        File TXT = new File(PATH + Name);
        TXT.createNewFile();
    }
}

如您所见,您需要在用于创建incrementFileName的方法之外声明c(您的new File),并在每次按下按钮时递增它