gpt4 book ai didi

java - 如何在每次创建新文件时增加文件名中的数字?

转载 作者:行者123 更新时间:2023-12-01 20:17:01 26 4
gpt4 key购买 nike

您好,我目前正在用 Java 编写一个方法,我正在尝试创建新文件,但我需要这些文件不是同名的,而是递增名称值,如下所示:

  • /Users/Myself/Desktop/myFile0.xml
  • /Users/Myself/Desktop/myFile1.xml
  • /Users/Myself/Desktop/myFile2.xml
  • /Users/Myself/Desktop/myFile3.xml

所以我尝试在代码中执行以下操作,但我不明白为什么当我在 foreach 循环中调用文件(创建一个新循环)时,数字不会增加?

public void pickFolder() throws Exception {

chooserFolder.setDialogTitle("Specify your save location");
chooserFolder.setDialogType(JFileChooser.SAVE_DIALOG);

int numbers = 0;
chooserFolder.setSelectedFile(new File("myFile" + numbers++ + ".xml"));
chooserFolder.setFileFilter(new FileNameExtensionFilter("xml file", "xml"));

int userSelection = chooserFolder.showSaveDialog(null);
if (userSelection == JFileChooser.APPROVE_OPTION) {

for (File file : files) {

chooserFolder.setSelectedFile(new File(chooserFolder.getSelectedFile().getAbsolutePath()));


fileToSave = chooserFolder.getSelectedFile();
if (fileToSave.createNewFile()) {
System.out.println("File is created!");
fileToSave = chooserFolder.getSelectedFile();

} else {
JOptionPane.showMessageDialog(null, "File already exists.");
}

System.out.println("Save as file: " + fileToSave.getAbsolutePath());

}

任何帮助将不胜感激,谢谢!

最佳答案

您的数字变量应该是静态的;

public static int numbers = 0;

public void pickFolder() throws Exception {

chooserFolder.setDialogTitle("Specify your save location");
chooserFolder.setDialogType(JFileChooser.SAVE_DIALOG);

chooserFolder.setSelectedFile(new File("myFile" + numbers++ + ".xml"));
chooserFolder.setFileFilter(new FileNameExtensionFilter("xml file", "xml"));

int userSelection = chooserFolder.showSaveDialog(null);
if (userSelection == JFileChooser.APPROVE_OPTION) {

for (File file : files) {

chooserFolder.setSelectedFile(new File(chooserFolder.getSelectedFile().getAbsolutePath()));


fileToSave = chooserFolder.getSelectedFile();
if (fileToSave.createNewFile()) {
System.out.println("File is created!");
fileToSave = chooserFolder.getSelectedFile();

} else {
JOptionPane.showMessageDialog(null, "File already exists.");
}

System.out.println("Save as file: " + fileToSave.getAbsolutePath());

}

这样,每当您调用 pickFolder() 时(无论您创建一个新实例还是使用同一实例),您的 number 变量对于每个实例都保持相同。

关于java - 如何在每次创建新文件时增加文件名中的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45573123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com