2012-06-27 55 views
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後,它將按原樣完成剩餘的功能。

+2

這是功課? (一年中的奇怪時間,但是誰知道。) – millimoose

+0

另外:您可以在段落中使用多個句子。 – millimoose

+0

閱讀:[命令行輸入/輸出](http://docs.oracle.com/javase/tutorial/essential/io/cl.html)。 –

回答

0

您可以使用System.out.println()向控制檯屏幕輸出提示。然後,得到他們的路徑,使用java.util中如掃描儀類,

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

該字符串,輸入,可以是你的文件夾路徑,但你可能想要做一些錯誤輸入正確的格式檢查,良好的文字等

2

爲什麼使它互動?爲什麼不使用主給出的args[]參數?

檢查參數[0]以確保它是一個有效的目錄,然後繼續前進。

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

或更好,但你可以遍歷所有參數的個數的元素,並在命令行上指定的每個目錄執行的檢查。

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+"//");