为了熟悉文件操作(File) 自定义一个方法进行管理
文件操作管理类:
1.创建文件:
输入exit返回上一级,输入指定路径,创建新文件,路径存在就选择是否覆盖或者重新输入;
2.删除文件:
输入exit返回上一级,输入指定路径,判断该路径是否存在,存在就删除该文件,不存在就重新输入;
3.修改文件:
1)修改文件中的某个内容(doc,txt):例如把里面所有的“1”改成“2”;
2)修改文件的名字
4.查看文件:
1)查看文件信息:名字,创建时间,最后修改时间,字节大小
2)查看文件内容(doc,txt都可以查看,其他类型不可以);
class FileManager
{
public void Control()
{
while (true)
{
Console.WriteLine("-------------");
Console.WriteLine("1.添加文件");
Console.WriteLine("2.删除文件");
Console.WriteLine("3.修改文件");
Console.WriteLine("4.查询文件");
Console.WriteLine("退出程序(exit)");
Console.WriteLine("-------------");
string op = Console.ReadLine();
switch (op)
{
case "1": Add(); break;
case "2": Delete(); break;
case "3": Change(); break;
case "4": Query(); break;
case "exit":return;
default: Console.WriteLine("输入错误"); break;
}
}
}
/// <summary>
/// 添加文件
/// </summary>
public void Add()
{
while (true)
{
Console.WriteLine("输入路径添加(返回exit)");
string value = Console.ReadLine();
if (value.Equals("exit"))
{
return;
}
else if (File.Exists(value))
{
Console.WriteLine("文件存在");
Console.WriteLine("1.覆盖文件");
Console.WriteLine("回车:重新输入");
string val2 = Console.ReadLine();
if (val2.Equals("1"))
{
File.Create(value).Close();
Console.WriteLine("覆盖成功");
}
}
else
{
try
{
File.Create(value).Close();
Console.WriteLine("新建成功");
}
catch (Exception e)
{
Console.WriteLine("路径错误(重新输入)");
}
}
}
}
/// <summary>
/// 删除文件
/// </summary>
public void Delete()
{
while (true)
{
Console.WriteLine("输入路径删除(返回exit)");
string value = Console.ReadLine();
if (value.Equals("exit"))
{
return;
}
else if (File.Exists(value))
{
File.Delete(value);
Console.WriteLine("删除成功");
}
else
{
Console.WriteLine("未找到该文件(重新输入)");
}
}
}
/// <summary>
/// 修改文件
/// </summary>
public void Change()
{
while (true)
{
Console.WriteLine("输入路径修改(返回exit)");
string value = Console.ReadLine();
if (value.Equals("exit"))
{
return;
}
else if (File.Exists(value))
{
Console.WriteLine("文件存在");
Console.WriteLine("1.修改文件名");
Console.WriteLine("2.修改文件内容");
string str = Console.ReadLine();
if (str.Equals("1"))
{
Console.WriteLine("输入修改后的文件名(写路径)");
string val2 = Console.ReadLine();
try
{
File.Move(value, val2);
Console.WriteLine("修改成功");
}
catch (Exception e)
{
Console.WriteLine("修改失败(文件名错误)");
}
}
else if (str.Equals("2"))
{
FileInfo fileInfo = new FileInfo(value);
if (fileInfo.Name.EndsWith(".doc") || fileInfo.Name.EndsWith(".txt"))
{
//StreamReader reader = fileInfo.OpenText();
//string val3 = reader.ReadToEnd();
//reader.Close();
string val3 = File.ReadAllText(value, Encoding.Default);
Console.WriteLine("输入要修改的字符");
string v1 = Console.ReadLine();
Console.WriteLine("输入修改后的字符");
string v2 = Console.ReadLine();
string newVal = val3.Replace(v1, v2);
File.WriteAllText(value, newVal, Encoding.Default);
Console.WriteLine("修改成功(文件中所有{0}-->{1})", v1, v2);
}
else
{
Console.WriteLine("文件类型不支持修改内容");
}
}
}
else
{
Console.WriteLine("未找到该文件(重新输入)");
}
}
}
/// <summary>
/// 查询文件
/// </summary>
public void Query()
{
while (true)
{
Console.WriteLine("输入路径查询(返回exit)");
string value = Console.ReadLine();
if (value.Equals("exit"))
{
return;
}
else if (File.Exists(value))
{
FileInfo fileInfo = new FileInfo(value);
Console.Write("文件名:");
Console.WriteLine(fileInfo.Name);
Console.Write("创建时间:");
Console.WriteLine(fileInfo.CreationTime);
Console.Write("最后修改时间:");
Console.WriteLine(fileInfo.LastWriteTime);
Console.Write("字节长度:");
Console.WriteLine(fileInfo.Length);
if (fileInfo.Name.EndsWith(".doc") || fileInfo.Name.EndsWith(".txt"))
{
//StreamReader reader = fileInfo.OpenText();
//string str = reader.ReadToEnd();
//Console.Write("内容:");
//Console.WriteLine(str);
//reader.Close();
string[] str = File.ReadAllLines(value, Encoding.Default);
foreach (var item in str)
{
Console.WriteLine(item);
}
}
else
{
Console.WriteLine("文件类型不支持查看内容");
}
}
else
{
Console.WriteLine("未找到该文件(重新输入)");
}
}
}
}