获取文件信息,移动文件,复制文件,修改文件名,新建文件
using System;
using System.IO;
internal class Test
{
public static void Main()
{
FileInfo info = new FileInfo("TextFile1.txt");
Console.WriteLine(info.Name); //获取文件相关信息
Console.WriteLine(info.CreationTime);
Console.WriteLine(info.DirectoryName);
Console.WriteLine(info.Exists);
//info.CopyTo("tt.txt"); //复制文件
info.MoveTo("TextFile22.txt"); //具有移动文件和修改文件名称的功能
FileInfo newinfo=new FileInfo("nihao.txt");
if (newinfo.Exists == false) //如果文件不存在就创建文件
{
newinfo.Create();
}
}
}
第一种方式:按行读取
using System;
using System.IO;
internal class Test
{
public static void Main()
{
string[] strArray = File.ReadAllLines("TextFile1.txt");
//读取所有行数据
foreach (var temp in strArray)
{
Console.WriteLine(temp);
}
Console.ReadLine();
}
}
第二种方式:读取整个文件的字符串
using System;
using System.IO;
internal class Test
{
public static void Main()
{
string s = File.ReadAllText("TextFile1.txt");
//读取所字符串
Console.WriteLine(s);
}
}
第三种方式:每次读取1024字节
using System;
using System.IO;
using System.Text;
internal class Test
{
public static void Main()
{
FileStream stream=new FileStream("TextFile1.txt",FileMode.Open);
//文件流打开
byte[]data=new byte[1024];
while (true)
{
//每次读取1024字节放入数组,文件指针会自动后移
int length = stream.Read(data, 0, 1024);
if (length==0)
{
Console.WriteLine("读取结束");
break;
}
string str = Encoding.UTF8.GetString(data, 0, length);
Console.WriteLine(str);
}
}
}
实例:复制文件
using System;
using System.IO;
using System.Text;
internal class Test
{
public static void Main()
{
FileStream Rstream=new FileStream("TextFile1.txt",FileMode.Open);
FileStream Wstream=new FileStream("fuben.text",FileMode.Create);
byte[]data=new byte[1024];
while (true)
{
int len = Rstream.Read(data, 0, 1024);
if (len == 0)
break;
else
{
Wstream.Write(data, 0, len);
}
}
}
}
第四种方法:StreamReader
using System;
using System.IO;
using System.Text;
internal class Test
{
public static void Main()
{
StreamReader Rstream=new StreamReader("TextFile1.txt");
//文件读入流
while (true)
{
string str = Rstream.ReadLine(); //每次读取一行文件指针自动移到下一行
if (str == null)
break;
Console.WriteLine(str);
}
}
}
实例:将输入的信息保存到文件
using System;
using System.IO;
using System.Text;
internal class Test
{
public static void Main()
{
StreamWriter writer=new StreamWriter("wenjian.txt");
while (true)
{
string str = Console.ReadLine();
if (str == "q")
break;
else
{
writer.WriteLine(str);
}
}
writer.Close();
}
}
文件夹的相关操作
using System;
using System.IO;
internal class Test
{
public static void Main()
{
//绝对路径
DirectoryInfo info=new DirectoryInfo(@"D:\我的文档\visual studio 2010\Projects\UDPfuwuqi\UDPfuwuqi");
Console.WriteLine(info.Name);
Console.WriteLine(info.Exists);
Console.WriteLine(info.Parent);
Console.WriteLine(info.Root);
Console.WriteLine(info.CreationTime);
info.CreateSubdirectory("nihao"); //创建子目录
DirectoryInfo dinfo=new DirectoryInfo("test");
if (dinfo.Exists == false)
{
dinfo.Create(); //如果文件夹不存在则创建
}
}
}