2015-04-22 55 views
0

我必须运行一些模拟,输出应该在文件中,输出的数量可以从模拟变为另一个,例如,我使用的第一个模拟10文件,第二个将是14个文件。比方说,我有N个文件如何在程序执行过程中更改文件名

我宣布使用下面的指令N文件:

String path1="C:/Users/Desktop/path1.txt"; 
File file1 =new File(path1); 

写入到文件1我用这个函数:

write(my outputs list,path1,file1); 

执行过程中,根据对于某些参数,我选择要写入的文件,我想在不使用switch case指令的情况下执行此选项,因为如果文件数很大,管理它就不容易了。

与开关情况下,将是这样的:

int choice1 = number; 
switch (choice1) { 
case 1 :   
write(outputs ,path1,file1); 
break; 
case 2 :   
    write(outputs ,path2,file2); 
break; 
case 3 : 
....... 
} 

我想替换开关壳体与其他指令,

例如,改变路径,我使用:

String path= "path"+number; 

其中number是要在其上写入的路径文件的编号。 然后我可以打电话给我的功能write(outputs, path, file),但 我想为文件做同样的事情,但我不知道如何。 请帮忙。

+2

为什么你不能为文件做同样的事情,你做的路径? –

+2

将你刚刚写的''path'传递给'write'会出什么问题? –

+0

因为**路径**是一个'字符串'变量,所以很容易通过与任意数字串联来更改它。 – jojo

回答

0

的路径包括文件名,以便包含文件名在路径String另一个例子,如果你想要写的文件在你的应用程序结构:

ClassLoader classLoader = getClass().getClassLoader(); 
File file = new File(classLoader.getResource("folder" + number + "/filename" + number + ".xml").getFile()); 
0

如果你想设置一个像附加一个数字,也许你可以做这样的事情:

String name = file.getName(); 
int pos = name.lastIndexOf("."); 
int number = 1; 
name = name.substring(0, pos) + number + name.substring(pos, name.length()); 
相关问题