1

我开发了一个 Java 程序来计算文件夹中的文件数。可能有 Java 文件或文本文件,它会计算其中的代码行数。这个想法是将文件名打印到控制台,然后是行数。这部分就完成了,如下图:

public class FileCountLine {    
    public static void main(String[] args) throws FileNotFoundException {
    Map<String, Integer> result = new HashMap<String, Integer>();
        File directory = new File("C:/Test/");
        File[] files = directory.listFiles();
        for (File file : files) {
            if (file.isFile()) {
                Scanner scanner = new Scanner(new FileReader(file));
                int lineCount = 0;
                try {
                    for (lineCount = 0; scanner.nextLine() != null; lineCount++);
                } catch (NoSuchElementException e) {
                    result.put(file.getName(), lineCount);
                }
            }}
        for( Map.Entry<String, Integer> entry:result.entrySet()){
              System.out.println(entry.getKey()+" ==> "+entry.getValue());
            }       
    }}

现在我已经硬编码了目录的位置,如下所示:

File directory = new File("C:/Test/");

我希望这更具交互性,并提示用户在控制台中输入位置。用户按下 Enter 后,它将按原样执行其余功能。

4

3 回答 3

2

为什么要让它互动?为什么不直接使用args[]main 给出的参数呢?

检查 args[0] 以确保它是一个有效的目录,然后继续生活。

File directory = new File(args[0]);

或者更好的是,您可以遍历 args 的所有元素并对命令行上指定的每个目录执行检查。

于 2012-06-27T17:58:41.697 回答
0

您可以使用 System.out.println() 将提示输出到控制台屏幕。然后,要获取它们的路径,请使用 java.util 中的 Scanner 类,例如,

Scanner lineIn = new Scanner(System.in);
String input = lineIn.next();

那个字符串,输入,可以是你的文件夹路径,但你可能想对输入做一些错误检查,以确保正确的格式、好的字符等

于 2012-06-27T17:58:48.893 回答
0

您可以向用户询问驱动器和主文件夹..

Scanner in=new Scanner(System.in);
System.out.println("Enter the Drive name like C,D,E etc");
String drive=in.next();
System.out.println("Enter the main folder name");
String main_folder=in.next();
File directory=new File(drive+":"+"//"+main_folder+"//");
于 2012-06-27T17:59:23.800 回答