我想从csv文件中读取值,并在表格(控制台输出)中对它们进行排序。如何输出文件夹中的所有文件并读取此文件中的所有内容,并在读取包含其中内容的文件时获取文件名。到目前为止我只有这个,但我不能以正确的方式成为文件名,我只是最后的文件名,而不是这个文件的内容。
public static List<Objekt> run() throws IOException {
String path2 = "D:\\folder\\files";
File folder = new File(path2);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++){
if (listOfFiles[i].isFile()){
files = listOfFiles[i].getName();
if (files.endsWith(".csv")){
files = files.replace(".csv", "");
System.out.println(files);
}
}
}
List<Objekt> lines = new ArrayList<Objekt>();
String csvString = "D:\\folder\\files\\file1.csv";
BufferedReader br = null;
String line = "";
String cvsSplitBy = ";";
Objekt objekt = null;
String[] hdr = null;
int l_count = 0;
br = new BufferedReader(new FileReader(csvString));
while ((line = br.readLine()) != null) {
if (l_count == 0) {
hdr = line.split(cvsSplitBy);
}
else{
String[] temp = line.split(cvsSplitBy);
for (int i = 0; i < temp.length; i++) {
objekt = new Objekt();
objekt.setTimestamp(hdr[i] + "\t" + temp[0] + "\t"
+ temp[i] + "\t" + files + "\n");
lines.add(objekt);
}
System.out.println(lines);
}
l_count++;
}
br.close();
return lines;
}
这就是我变成的(我只得到那个文件名,位于文件夹的末尾),
>tr_klue 06.03.2014 11:30 1389 outfilename
>tr_klue_lo 06.03.2014 12:00 1889 outfilename
但是我需要此文件夹中的所有文件名以及相应的内容,并将这些文件名保存在子文件夹中,文件名和日期时间与读取时间相同,如:
tr_klue 06.03.2014 11:30 1389 outfilename
>tr_klue_lo 06.03.2014 12:00 1889 outfile1
>tr_klue 06.03.2014 12:30 100 props2
>tr_klue_lo 06.03.2014 13:00 89 colorak
你能不能给我一些建议
答案 0 :(得分:0)
如果我理解你的问题,你需要先构建一个List个文件然后重复它 -
File[] fileArray = folder.listFiles();
List<String> files = new ArrayList<String>(); // <-- A list of files
for (int i = 0; i < fileArray.length; i++)
{
if (fileArray[i].isFile())
{
String fileName = fileArray[i].getName();
if (fileName.endsWith(".csv")) // <-- does it end in ".csv"?
{
files.add(fileName); // <-- Add the file to the List.
}
}
}
// Now files contains the matching fileNames...
for (String fileName : files) {
// Add code here to use each fileName
System.out.println(fileName.replace(".csv", ""));
}