201631103228,201631101227

1.项目需求

对程序设计语言源文件统计字符数、单词数、行数,统计结果以指定格式输出到默认文件中,以及其他扩展功能,并能够快速地处理多个文件。

wc.exe -c     //返回文件的字符数

wc.exe -w      //返回文件的单词总数

wc.exe -l     //返回文件 的总行数,

wc.exe -o      //将结果输出到指定文件OutPut.txt

2.开发环境  eclipse

3.开发语言  JAVA

4.项目地址

未打包

一、源码地址:https://gitee.com/shuaiqin/WordCount

二、源码

package readTXT;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Scanner;
public class ReadTxt {
      public static void main(String[] args) throws Exception {
  
    Scanner input = new Scanner(System.in);
    System.out.println("请输入文件路径:");
    String path = input.next();
    int countChar = 0;
    int countword = 0;
    int countline = 0;
    InputStreamReader isr = new InputStreamReader(new FileInputStream(path));
    //用来读取文件中的数据
    BufferedReader br = new BufferedReader(isr);//使用缓冲区,缓存输入的文档,可以使用缓冲区的read(),readLine()方法;
    while(br.read()!=-1)//read()=-1代表数据读取完毕
    {
     String s = br.readLine();
     countChar += s.length();//字符个数就是字符长度
     countword += s.split(" ").length;//split() 方法用于把一个字符串分割成字符串数组,字符串数组的长度,就是单词个数//在此只适用于英文
     countline++;//因为是按行读取,所以每次增加一即可计算出行的数目
    }
    isr.close();//关闭文件
    //新建一个txt文件
    File fp=new File("D:\\OutPut.txt");
    String strchar=Integer.toString(countChar);
    String strword=Integer.toString(countword);
    String strline=Integer.toString(countline);
   
   
    PrintWriter pfp=new PrintWriter(fp);
    pfp.println("字符数为:"+strchar);
    pfp.println("单词数为:"+strword);
    pfp.println("行数为:"+strline);
    pfp.close();
    System.out.println("OutPut.txt已经保存在D盘下");
    System.out.println("请输入字符命令:(-c查询字符数,-w查询单词数,-o查询行数)");
    String p=input.next();
    if(p.equals("-c"))
    {
     System.out.println("字符数:"+countChar);
    }else
       if(p.equals("-w"))
    {
      System.out.println("单词数:"+countword );
    }
     else
      if(p.equals("-o"))
    System.out.println("行数"+countline);
    }    
}
 
三、测试
    1.首先输入文件路径

2.文件OutPut.txt在D盘生成,并且将文件的字符数,单词数,行数写入

3.输入指定命令,获取相应的值

4.保存后的效果

WordCount(JAVA实现)的更多相关文章

  1. 个人项目:WordCount (Java)

    一.Github项目地址 https://github.com/misterchaos/WordCount 二.解题思路 2.1 基本需求分析 经过仔细阅读题目,分析得出项目的基本需求如下: wc.e ...

  2. WordCount( Java )

    Github项目地址:https://github.com/Sabot1203/WordCount 一. 题目描述 实现一个简单而完整的软件工具(源程序特征统计程序). 进行单元测试.回归测试.效能测 ...

  3. WordCount(Java实现)

    Github项目地址:https://github.com/linzworld/word-count 项目相关要求 题目描述 Word Count 实现一个简单而完整的软件工具(源程序特征统计程序). ...

  4. 大数据之路week07--day03(Hadoop深入理解,JAVA代码编写WordCount程序,以及扩展升级)

    什么是MapReduce 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃. MapReduce方法则是: 1.给在座的所有玩家中分配这摞牌 2.让每个玩家数自己手中的牌有几 ...

  5. Eclipse 执行成功的 Hadoop-1.2.1 WordCount 源码

    万事开头难.最近在学习Hadoop,先是搭建各种版本环境,从2.2.0到2.3.0,再到1.2.1,终于都搭起来了,折腾了1周时间,之后开始尝试使用Eclipse编写小demo.仅复制一个现成的Wor ...

  6. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  7. 【hadoop】——修改hadoop FileUtil.java,解决权限检查的问题

    在Hadoop Eclipse开发环境搭建这篇文章中,第15.)中提到权限相关的异常,如下: 15/01/30 10:08:17 WARN util.NativeCodeLoader: Unable ...

  8. hadoop的统计单词程序WordCount提示找不到WordCount类

    按这里的教程: http://www.imooc.com/learn/391 试验时,发现在wordcount的最后一步一直提示如下错误: Exception in thread "main ...

  9. 开源分布式实时计算引擎 Iveely Computing 之 WordCount 详解(3)

    WordCount是很多分布式计算中,最常用的例子,例如Hadoop.Storm,Iveely Computing也不例外.明白了WordCount在Iveely Computing上的运行原理,就很 ...

  10. Hadoop入门程序WordCount的执行过程

    首先编写WordCount.java源文件,分别通过map和reduce方法统计文本中每个单词出现的次数,然后按照字母的顺序排列输出, Map过程首先是多个map并行提取多个句子里面的单词然后分别列出 ...

随机推荐

  1. Elasticsearch-PHP 快速开始

    快速开始 本章节会给你一个客户端的主要功能(函数)是如何工作的快速概述. 安装 引入(包含)elasticsearch-php 在你的 composer.json 文件: { "requir ...

  2. 自定义javascript日历控件

    Web页中的日历一般离不开表格,通常都使用表格装载指定月的日期等信息.所以,要编写JS日历,首先必须解决的问题是表格的行与列问题.列是固定的,七列,因为一周有七天.行需要动态计算,因为,每一个月的第一 ...

  3. 将中国标准时间转成yyyy-MM-dd

    public static void main(String[] args) throws ParseException { String s = "Tue Jul 12 00:00:00 ...

  4. Codeforces 667C DP

    题意:给你一个字符串,这个字符串的构造方法如下:先选择一个长度大于4的前缀,然后每次向字符串尾部添加一个长度为2或者长度为3的后缀,不能添加连续的相同的后缀,问可能的后缀有哪些?并按字典序输出去. 思 ...

  5. Ros学习——movebase源码解读之amcl

    1.amcl的cmakelists.txt文件 add_executable(amcl  src/amcl_node.cpp) target_link_libraries(amcl amcl_sens ...

  6. copy&mutableCopy 浅拷贝(shallow copy)深拷贝 (deep copy)

    写在前面 其实看了这么多,总结一个结论: 拷贝的初衷的目的就是为了:修改原来的对象不能影响到拷贝出来得对象 && 修改拷贝出来的对象也不能影响到原来的对象 所以,如果原来对象就是imm ...

  7. linux系统文件的安全与特殊权限

    一. 文件与目录的原始属性 由于不希望文件具有可执行的原始权限,默认情况下,文件是没有可执行(x)权限的,因此文件的原始属性是:-rw-rw-rw(0666) 目录的原始属性全部开放,为:-rwxrw ...

  8. 监控windows

    一.zabbix server和zabbix agent(windows)的地址说明 zabbix server的ip为:192.168.1.106 zabbix agent的ip为:192.168. ...

  9. Cloud Foundry技术资料汇总

    来自:http://cnblog.cloudfoundry.com/2012/05/ 本文是Cloud Foundry的一个简单上手指南和资料汇总,内容将根据产品的发布定期更新. Cloud Foun ...

  10. Java泛型中的通配符

    Java泛型中的通配符可以直接定义泛型类型的参数.而不用把该函数定义成泛型函数. public class GenericsTest { public static void main(String[ ...