平时少不了字符串操作,以下代码是为解决文本去重功能,没什么内容,主要是初次接触控制台程序,记录一下
程序入口:
namespace SotringTool
{
class Program
{
private static StringTool m_Tool;
static void Main(string[] args)
{
m_Tool = new StringTool(args);
m_Tool.OpenFile();
}
}
}
当把文件拖到程序上时(.exe),在程序入口传入的参数就是你拖入文本的路径,直接打开是参数为null
using System;
using System.IO;
using System.Linq;
namespace SotringTool
{
public class StringTool
{
public StringTool(string[] args)
{
if ( args!= null && args.Length >= 1)
{
m_path = args[0];
}
}
private string m_path = null;
public void OpenFile()
{
if (string.IsNullOrEmpty(m_path))
{
Console.WriteLine("将文件拖至此处");
m_path = Console.ReadLine();
}
if (File.Exists(m_path))
{
ReadFile(m_path);
}
else
{
m_path = null;
Console.WriteLine("请放入有效文件");
OpenFile();
}
}
private void ReadFile(string path)
{
try
{
string worlds = File.ReadAllText(path);
char[] char_list = worlds.ToCharArray();
string str = new string(char_list.Distinct().ToArray());
WriteFile(path, str);
Console.WriteLine("请放入有效文件");
}
catch (Exception e)
{
Console.WriteLine("读取文件失败");
Console.WriteLine(e.Message);
m_path = null;
OpenFile();
}
}
private void WriteFile(string path, string content)
{
try
{
byte[] data = System.Text.Encoding.UTF8.GetBytes(content);
File.WriteAllBytes(path, data);
Console.WriteLine("输入0退出程序");
string exit = Console.ReadLine();
if (exit.Equals("0"))
{
Environment.Exit(0);
}
else
{
Console.WriteLine("推出失败,按任意键离开程序");
Console.ReadLine();
}
//
}
catch (Exception e)
{
Console.WriteLine("保存文件失败");
Console.WriteLine(e.Message);
m_path = null;
OpenFile();
}
}
}
}