【发布时间】:2018-12-25 00:21:43
【问题描述】:
我正在使用流 API 读取文件我正在调用 readFile() 方法,同时在第一个循环中迭代循环我正在获取路径值如何删除该路径值,因为我面临数组索引越界异常。
文件命名转换为“FileName_17072018”。
public class RemoveCVVFilesjob {
public static void main(String[] args) throws IOException {
List<String> fileList;
fileList = readFile();
for (String str : fileList) {
String[] strArr = str.split("_");
System.out.println(strArr[1]);
}
}
private static List<String> readFile() throws IOException {
try (Stream<Path> paths = Files.walk(Paths.get("D:\\Projects\\Wallet\\CVVFiles"))) {
List<String> list = paths.map(path -> Files.isDirectory(path) ?
path.getFileName().toString() + '/' :
path.getFileName().toString()).collect(Collectors.toList()
);
return list;
}
}
【问题讨论】:
-
如果您需要文件路径,请使用过滤器检查是否是文件,如果文件则收集它。并且不确定您的所有文件都遵循 xxx_xxxx 模式。
-
@mallikarjun 在第一次迭代中调用 readfile 方法后我正在获取文件路径,从第二次迭代中我正在获取文件名,那么我应该如何在第一次迭代中避免文件路径
标签: java list file java-8 java-stream