【问题标题】:Add a dynamic name to file为文件添加动态名称
【发布时间】:2016-06-27 08:06:58
【问题描述】:

我做了一个创建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 等。

我想动态增加数字。感谢您的阅读。

【问题讨论】:

  • 您能否向我们展示您希望创建 TXT2.txt 的代码,因为您当前的代码始终以 c = 0 开头
  • 我第一次尝试计数为:1,但不起作用。所以我把计数设为:0。只是为了测试。
  • 所以下次计数需要从 1 开始,然后是 2 等。如果你使用循环,它会做你想做的事。

标签: java file for-loop output jfilechooser


【解决方案1】:

将它包装在一个 for 循环中并像这样排除计数器:

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

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

【讨论】:

  • 如果要使用 for 循环,请使用循环中的 int 来递增
  • 没错,我改了
【解决方案2】:

如果这是您方法中的代码,c 总是以 0 开始并递增到 1。

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

【讨论】:

    【解决方案3】:

    1) 内部与外部:

    如果你在一个方法中声明你的对象,它只会在 这种方法。基本上,如果你在它周围加上括号,它只是 在这些括号内可见/可访问。

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

    2) 静态

    静态意味着,这个对象/变量属于类本身, 而不是它的对象

    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();
        }
    }
    

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

    【讨论】:

    • 非常感谢,终于成功了。感谢您的时间和帮助。
    猜你喜欢
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 2017-05-25
    • 1970-01-01
    相关资源
    最近更新 更多