可能重複:
Reading the java files from the folder生成輸出的文本文件,通過Java IO
我公司開發的Java代碼,從用戶選擇的文件夾中讀取文件。它顯示每個文件中有多少行代碼,它只讀取.java文件,最終結果顯示在控制檯上,我想輸出要顯示在控制檯上,但是還有一個文本文件,其中包含要獲取的相同信息存儲在桌面上也請告知如何以及生成其名稱的文件的名稱將基於時間戳讓我們假設輸出文件的名稱將是'output06282012',並且該文本文件應包含相同的信息顯示在控制檯上,這裏是我的代碼...
public static void main(String[] args) throws FileNotFoundException {
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new java.io.File("C:" + File.separator));
chooser.setDialogTitle("FILES ALONG WITH LINE NUMBERS");
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
{ Map<String, Integer> result = new HashMap<String, Integer>();
File directory = new File(chooser.getSelectedFile().getAbsolutePath());
int totalLineCount = 0;
File[] files = directory.listFiles(new FilenameFilter(){
@Override
public boolean accept(File directory, String name) {
if(name.endsWith(".java"))
return true;
else
return false;
}
}
);
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);
totalLineCount += lineCount;
}
} }
System.out.println("*****************************************");
System.out.println("FILE NAME FOLLOWED BY LOC");
System.out.println("*****************************************");
for (Map.Entry<String, Integer> entry : result.entrySet())
{ System.out.println(entry.getKey() + " ==> " + entry.getValue());
}
System.out.println("*****************************************");
System.out.println("SUM OF FILES SCANNED ==>"+"\t"+result.size());
System.out.println("SUM OF ALL THE LINES ==>"+"\t"+ totalLineCount);
}
}
輸出顯示在控制檯被存儲在桌面上的一個文本文件還,請指教如何在和的名字生成它的名字的文件是基於時間戳讓我們假設outp的名字ut文件將是'output06282012',並且該文本文件應該包含控制檯上顯示的相同信息。
夥計們請告知 –
永遠不要這樣做'main(String [] args)引發FileNotFoundException'永遠不會在主要引發異常中捕獲它! –
@DavidKroukamp請告訴我可以在我的代碼片段中捕捉它 –