2015-04-22 62 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()); 
相關問題