2012-06-27 19 views
2

Я пытаюсь разработать программу в java, которая будет подсчитывать количество файлов в данной папке вместе с строками кода в каждом отдельном файле. В настоящее время у меня есть код, который будет извлекать только один файл из папки и подсчитывать строки кода для этого конкретного файла. Пожалуйста, помогите мне понять, как исходить отсюда.Подсчет количества строк в файле

Мой текущий код:

public class FileCountLine { 

    public static void main(String[] args) throws FileNotFoundException { 

     File file = new File("E:/WalgreensRewardsPosLogSupport.java"); 
     Scanner scanner = new Scanner(file);  
     int count = 0;    
     while (scanner.hasNextLine()) { 
      String line = scanner.nextLine(); 
     count++;    
     }   
     System.out.println("Lines in the file: " + count); 

    } 

} 
+0

Итак, вы хотите для каждого файла в папке его количество строк, не так ли? – sp00m

ответ

5

Использование

String dir ="/home/directory"; 
File[] dirContents = dir.listFiles(); 

Перечислите каждый файлы и применять код на каждом из них. Сохраните имя файла и количество строк на карте.

0

Идея @Akhil, реализуемый:

Map<String, Integer> result = new HashMap<String, Integer>(); 

File directory = new File("E:/"); 
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); 
     } 

    } 
} 

System.out.println(result); 
Смежные вопросы