【发布时间】:2013-10-28 23:51:11
【问题描述】:
我有一个 java 程序,它从文件内容中提取日期,然后用该日期字符串重命名文件。我需要考虑的是,新文件名最终可能会在开头、中间或结尾处包含日期。我试图做的是这样的 -
String outputFilePt1 = args[0];
String outputFilePt2 = args[1];
String outputFilePt3 = args[2];
String outputDate = dateFormat.format( date );
String newOutputFile = outputFilePt1 + outputFilePt2 + outputFilePt3;
然后我会分别为 args 0-2 输入类似“MyFile_”、“outputDate”、“.csv”的内容,希望结果是 MyFile_outputDatesValue.csv - 因为我可能需要它是 MyFile.csv_outputDatesValue
完成 3 个输入(FilePart1、FilePart2、FilePart3)的最佳方法是什么?在上面的代码块中,最终会得到“outputDate”的值?
提前致谢,我希望我所问的有道理!
编辑 - 我在输入参数时不知道“outputDate”的值。这是根据输入文件和确定输入文件的日期格式/位置的配置/属性文件计算得出的。
【问题讨论】:
-
hmmm... "MyFile" + ".csv" + "_outputDatesValue" ?
-
如果你的方法显示签名
-
谢谢,很遗憾我不知道参数输入时的值。所以我需要能够输入一个变量名,比如“outputDate”。然后,如果我输入 arg0="MyFile_" arg1="outputDate" arg2=".csv" 我的字符串的结果是 MyFile_xxxxx.csv - 其中“xxxxx”实际上是在我的 outputDate 变量中计算的值。
-
你不能按照 aluxa 上面的建议做吗?也许可以根据需要更改格式 - 即
String newOutputFile = outputFilePt1 + outputDate + outputFilePt3;或类似名称。如果值是在方法本身中设置的,则不需要将参数传递给方法。 -
Germann,谢谢,唯一的问题是我不知道输入参数时的值。因此,我希望我可以输入 outputDate 作为参数之一的值,但如果我这样做,它会按字面意思打印,即“MyFile_outputDate.csv”。如果我不能这样做,下一步是解析每个输入参数以查找日期,并相应地格式化我的最终文件名字符串。