Javaを利用して記事の行数、単語数、文字数を統計します。

1273 ワード

//                     ,         ,                ,        
//                       
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
public class FileCount {
	public static void main(String[] args) throws Exception {
		if (args.length != 1) {
			System.out.println("Usage: TextFile");
			System.exit(0);
		}
		File sourceFile = new File(args[0]);
		
		if (!sourceFile.exists()) {
			System.out.println("The sourceFile does not exist.");
			System.exit(0);
		}
		
		try(Scanner input = new Scanner(sourceFile)){
			int countOfCharacters = 0;
			int countOfLine = 0;
			int countOfWords = 0;
			while (input.hasNext()) {
				String line = input.nextLine();
				countOfCharacters += line.length();
				countOfLine ++;
				System.out.println("Line :" +countWords(line));
				countOfWords += countWords(line);
			}
			System.out.println("Characters Number :" + countOfCharacters);
			System.out.println("Lines Number: " +countOfLine);
			System.out.println("Words Number: " +countOfWords);
		}
		catch(Exception ex) {
			ex.printStackTrace();
		}
	}

	private static int countWords(String line) {
		String[] words = line.split("[^\\w\\d]+");
		return words.length;
		}
	

}