WordCount

合作者:201631062430

代码地址:https://gitee.com/dk862422/WordCount.git

本次作业链接地址:https://edu.cnblogs.com/campus/xnsy/Test/homework/2203

基本功能:

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

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

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

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

  代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO; 

namespace WC
{
    class Program
    {
        static void Main(string[] args)
        {

            string Str = args[0];


            WC  w = new WC ();
            string result = "";
            switch (Str)
            {
                case "-c":
                    result = w.charCount(args[1]);
                    break;
                case "-w":
                    result = w.WordCount(args[1]);

                    break;
                case "-l":
                    result = w.LineCount(args[1]);

                    break;
                default:
                    Console.WriteLine("命令无效");
                    break;
            }


            WC .Print(result);

        }
    }

        public class WC
        {
            public string charCount(string fileName)
            {
                string CharCount = "0";
                string c = "字符数:";
                try
                {
                    FileStream fs = new FileStream(fileName, FileMode.Open);//打开文件
                    CharCount = Convert.ToString(fs.Length);//读取字符数
                    fs.Close();
                    Console.WriteLine("字符数:" + CharCount);
                    c += CharCount;
                    return c;
                }
                catch
                {
                    Console.WriteLine("文件打开失败");
                    c += CharCount;
                    return c;
                }
            }
            public string WordCount(string fileName)
            {
                string WordCount = "0";
                string w = "单词数:";
                try
                {
                    FileStream fs = new FileStream(fileName, FileMode.Open);//读取文件
                    StreamReader sr = new StreamReader(fs, Encoding.Default);
                    string file = Convert.ToString(sr.ReadToEnd());
                    fs.Close();
                    sr.Close();
                    char[] separator = { ',', ' ', ',' };//逗号和空格是分隔符
                    string[] word = file.Split(separator, StringSplitOptions.RemoveEmptyEntries );//按指定字符分隔字符串
                    WordCount = Convert.ToString(word.Length);
                    Console.WriteLine("单词数:" + WordCount);
                    w += WordCount;
                    return w;
                }
                catch
                {
                    Console.WriteLine("文件打开失败");
                    w += WordCount;
                    return w;
                }
            }
            public string LineCount (string fileName)
            {
                string LineCount = "0";
                string l = "行数:";
                try
                {
                    FileStream fs = new FileStream(fileName, FileMode.Open);
                    StreamReader sr = new StreamReader(fs, Encoding.Default);
                    string file = Convert.ToString(sr.ReadToEnd());  //读取文件
                    fs.Close();
                    sr.Close();
                    char[] separator = { '\n' };  //换行符为分隔符
                    string[] line = file.Split(separator, StringSplitOptions.RemoveEmptyEntries);  //按指定字符分隔字符串
                    LineCount = Convert.ToString(line.Length);
                    Console.WriteLine("行数:" + LineCount);
                    l +=LineCount;
                    return l;
                }
                catch
                {
                    Console.WriteLine("打开文件失败");
                    l += LineCount;
                    return l;
                }
            }
            public static void Print(string result)
            {
                try
                {
                    //写入数据到指定文件
                    StreamWriter sw = new StreamWriter("result.txt", true);
                    sw.WriteLine(result);
                    Console.WriteLine("数据写入成功");
                    sw.Close();
                }
                catch
                {
                    Console.WriteLine("数据写入失败");
                }
            }
        }

}

运行结果:

 

 

总结:

这一次的项目运用了C#的语言。只完成了基本功能,扩展功能还是没有余力去写完,是自己的编码能力不足,整个功能的编写中,暴露自己非常多的问题。在第一眼看到这个作业要求时,是很懵逼的状态,无处着手的感觉,在实现过程中,很多东西都在问,从同学那里学到了很多东西,也为后面的学习提供了一定帮助。相信后面能够做的更好。

posted @ 2018-10-21 22:40  迩~  阅读(233)  评论(0编辑  收藏  举报