2014-03-06 49 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

相关问题