2014-03-06 43 views
0

我有一個程序,它將每月數據作爲文件的輸入,並根據標準輸出數字(例如:過濾掉小於100的數字)。但是,我希望我的程序自動執行3個月(3月,4月,5月)。如何使我的輸出保存的文件路徑變量?如何在文件路徑中使用變量?

public class Testing2 { 
    public static void main(String[] args) throws IOException{ 
     String[] month = new String[]{march,april,may}; 
     for(String s: month){ 
      File f=new File("C:\\java\\marchcall.csv"); 
      FileWriter writer1 = new FileWriter("C:\\java\\marchcallnew.csv"); 
      Scanner in=new Scanner(f).useDelimiter(","); 
     } 
    } 
} 

我想我的程序運行程序marchcallnew.csv,aprilcallnew.csv和maycallnew.csv後,採取從3個不同的文件marchcall.csv,aprilcall.csv和maycall.csv和輸出編號。

我想使用foreach循環,但我不太清楚如何使文件路徑變量(如果這是正確的術語)。

+0

這些文件路徑只是字符串。 'new FileWrite('C:\\ java \\'+ somestringvar +'.csv');'。 –

回答

2

假設字符串元素是而不是變量名稱,您的代碼將不會編譯。字符串元素必須用引號括起來。這個錯誤被修正後,可以讀取所有三個文件是這樣的:

String[] month = new String[]{"march", "april", "may"}; //Must have quotes! 
for(String s: month){ 
    File f=new File("C:\\java\\" + s + "call.csv"); 
    FileWriter writer1 = new FileWriter("C:\\java\\" + s + "callnew.csv"); 

    //do stuff in the file 

而且,你可能要考慮重新命名month變量monthArrmonths更清晰。

1

從與數組你會想要做以下每個循環得到每個字符串:

String[] months = new String[]{"march","april","may"}; //Make sure your strings are surrounded by quotes. You will get an error for this otherwise. 

for(String month: months){ 

    File f = new File("C:\\java\\" + month + "call.csv"); 
    FileWriter writer1 = new FileWriter("C:\\java\\" + month + "callnew.csv"); 

它就是這麼簡單。在創建新文件時,它會將每個循環的當前月份附加到文件名字符串中。

+0

我的回答非常好,每個人***都在抄襲它。 – aliteralmind

+0

@aliteralmind哈哈,我還沒有完成我的答案,並沒有回答以前。你贏了這個好先生! – TheShinyTuxedo

+0

直到我們的下一個smackdown :) – aliteralmind

相關問題