码迷,mamicode.com
首页 > 其他好文 > 详细

WordCount

时间:2018-09-25 01:10:27      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:代码   nec   private   return   case   res   ring   初始化   cas   

https://gitee.com/Siy1015/WordCount

 

代码实现

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class WordCount {
private int charCount;
private int wordCount;
private int lineCount;
 
 
 
public WordCount(int charCount,int wordCount,int lineCount){
this.charCount=charCount;
this.wordCount=wordCount;
this.lineCount=lineCount;
}
//get和set方法
public int getCharCount() {
return charCount;
}
public void setCharCount(int charCount) {
this.charCount = charCount;
}
public int getWordCount() {
return wordCount;
}
public void setWordCount(int wordCount) {
this.wordCount = wordCount;
}
 
public int getLineCount() {
return lineCount;
}
public void setLineCount(int lineCount) {
this.lineCount = lineCount;
}
//main
public static void main(String[] args) throws IOException{
WordCount WC=new WordCount(0,0,0);
String inputFile="file.c";//初始化输入文件名
String outputFile="result.txt";//输出文件
for(int i=0;i<args.length;i++){
if(args[i].endsWith(".c"))
inputFile=args[i];
 
if(args[i].equals("-o"))
outputFile=args[i+1];
}
 
WC.wc(inputFile);
 
for(int i=0;i<args.length;i++)
{
switch(args[i]){
case "-c":{
System.out.println(inputFile+",字符数:" + WC.getCharCount());
break;
}
case "-w":{
System.out.println(inputFile+",单词数:" + WC.getWordCount());
break;
}
case "-l":{
System.out.println(inputFile+",行数:" + WC.getLineCount());
break;
}
case "-o":{
String outTxt="";
for(int j=0;j<args.length;j++){
if(args[j].equals("-c"))
outTxt=outTxt+"\r\n"+inputFile+",字符数:" + WC.getCharCount();
if(args[j].equals("-w"))
outTxt=outTxt+"\r\n"+inputFile+",单词数:" + WC.getWordCount();
if(args[j].equals("-l"))
outTxt=outTxt+"\r\n"+inputFile+",行数:" + WC.getLineCount();
}
// 新建一个txt文件
File outputName = new File(outputFile);
outputName.createNewFile();
BufferedWriter out = new BufferedWriter(new FileWriter(outputName));
out.write(outTxt);
out.flush();
out.close();
break;
}
}
}
}
 
//统计操作
public void wc(String inputFile) throws IOException{
String lineString = null;
String[] buffer;
File dir=new File(inputFile);
BufferedReader bf = new BufferedReader(new FileReader(dir)); // 读取文件
while((lineString=bf.readLine())!=null){
buffer=lineString.split(",| "); //遇到,空格就结束
for(int i=0;i<buffer.length;i++){
if(!buffer[i].equals(""))
wordCount++;
}
lineCount++;
charCount+=lineString.length();
}
bf.close();
}
}
 
文件内容
技术分享图片
测试结果
技术分享图片

 

 

WordCount

标签:代码   nec   private   return   case   res   ring   初始化   cas   

原文地址:https://www.cnblogs.com/siy1015/p/9697152.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!