我有一些代码可以打开一个目录,一些子目录,然后为每个txt文件创建File对象。然后我有一个扫描仪来扫描每个文件。当我使用scan.nextLine()时,它会将文件的名称返回给我,而不是打开文件并给我这些字符串。这是代码。
import java.io.*;
import java.util.Scanner;
public class DirTest
{
public void start()
{
String [] fileListing = null;
//directory code from project
File topDir = new File("TopDirectory");
if (topDir.isDirectory());
{
String [] dirList = topDir.list();
for(String name : dirList)
{
File midDir = new File("TopDirectory", name);
if(midDir.isDirectory())
{
fileListing = midDir.list();
for(String name2: fileListing)
{
File files = new File(name, name2);
System.out.println("Directory: " + midDir);
System.out.println("File: " + files);
// Scanner section, scans through fileListing[] files//
for(int i=0; i<3; i++)
{
Scanner scan = new Scanner(fileListing[i]);
String var1 = scan.nextLine();
System.out.println(var1);
}
}
}
}
}
}
}
我应该在扫描前以某种方式打开每个文件吗? 谢谢你的任何建议!
答案 0 :(得分:2)
试试这个:
FileReader fr = new FileReader(fileListing[i]);
Scanner scan = new Scanner(fr);
// Scan here
fr.close();