【发布时间】:2018-08-07 15:27:48
【问题描述】:
我有一个包含数千个文件的文件夹,我从中提取文件名并将它们导出到.csv 文件。文件名包含 4 条信息,我需要将它们放在导出的 .csv 文件中的 3 个不同列中。
我已经用 Java 编写了一些代码,它在某些时候对我有用,只是跳过了文件名中的一些信息。
这是我写的代码:
package PR;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
public class PR {
public static void main(String[] args) throws IOException {
final File folder = new File("./pack");
PrintWriter pw = new PrintWriter(new File("results.csv"));
for (final File fileEntry : folder.listFiles()) {
if (!fileEntry.isDirectory()) {
String filename = fileEntry.getName();
String date = filename.substring(0, 17);
System.out.println(date);
int index = filename.indexOf("_", 18);
String pack = filename.substring(18,index);
System.out.println(pack);
int index2 = filename.indexOf("_", index+2);
String dir = filename.substring(index+4, index2);
System.out.println(dir);
String last = filename.substring(index2 + 1, filename.indexOf('.', index2 + 1));
System.out.println(last);
System.out.println(fileEntry.getName());
StringBuilder sb = new StringBuilder();
sb.append(date);
sb.append(",");
sb.append(pack);
sb.append(",");
sb.append(dir);
sb.append(",");
sb.append(last + "\n");
pw.write(sb.toString());
}
}
pw.close();
我的文件名如下:
20180731020925524_nr37188r2_02_Hi78-red-out
我想要的输出 .csv 文件是这样的:
20180731020925524,nr37188r2,02,Hi78-red-out
有没有人可以帮我解决这个问题?
【问题讨论】: