我的任务是建立一个处理Java中文件的API。这是我第一次用Java构建API。所以现在我有两个问题。
问题编号1:我的问题是,如何根据文件名进行不同的文件处理?有两种类型的文件,文件名是162211_abFile.txt,另一个文件是33232_abcTextFile.txt,所以问题是如何让我的api运行基于它的特定方法是.... _abFile或.... _abcTextFile。
问题编号2:我需要在另一个类中调用几个方法,以最有效的方式进行调用?在我读完文件即。
这是我阅读文件时的尝试。
try{
BufferedReader br = new BufferedReader(new FileReader ("162211_abFile.txt"));
String line = null;
希望我已经解释清楚,并且您理解我的问题。
提前致谢!
编辑nr 1:
方法签名
public interface PaymentReceiver {
public void startPaymentBundle(String accountNumber, Date paymentDate, String currency);
public void payment(BigDecimal amount, String reference);
public void endPaymentBundle();
}
关于第一个问题,您可以使用正则表达式完成。
如果文件遵循[数字] _ [文件名] .txt格式,则可以执行以下操作:
Pattern p = Pattern.compile("\\d+_(\\w+)\\.txt");
Matcher m = p.matcher("33232_abcTextFile.txt");
if (m.matches()) {
if (m.group(1).equals("abFile")) {
// Do something
} else if (m.group(1).equals("abcTextFile")) {
// Do something else
} else {
// Unknown filename, handle it
}
} else {
// Unknown file format, handle it
}
模式,即输入Pattern.compile的字符串,将匹配1个或多个数字,后跟一个下划线,后跟1个或多个字符,然后是.txt。
如果将来还要考虑更多文件名,则可以仅添加另一个处理该文件名的if子句。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句