C#复习——文本和文件

FileStream

static void Main()     
{
	try
	{
		FileStream fs = new FileStream(@"C:\artists\log.txt",
		FileMode.OpenOrCreate, FileAccess.ReadWrite);
		byte[ ] alpha = new byte[6] { 65, 66, 67, 68, 69, 70 };
		foreach (byte b in alpha)
		{
			fs.WriteByte(b);
		}
		fs.Position = 0;
		for (int i = 0; i < fs.Length(); i++)
		{
			Console.Write((char)fs.ReadByte());
		}
		fs.Close();
	}
	catch (Exception ex)
	{
		Console.Write(ex.Message);
	}
}

StreamReader

static void Main(string[] args)        
{                      
	DataTable dt = new DataTable();//新建空的表格
	dt.Columns.Add("id", typeof(string));//增加列
	dt.Columns.Add("x", typeof(string));
	dt.Columns.Add("y", typeof(string)); 

	StreamReader sr = new StreamReader(filepath,
						Encoding.GetEncoding("gb2312"));
	string oneline;
	while (!sr.EndOfStream)
	{
		oneline = sr.ReadLine();  //逐行读取
		string[] a = oneline.Split(',');//分割 

		DataRow dr =dt.NewRow();
		dr[0] = a[0];
		dr[1] = a[1];
		dr[2] = a[2];
		dt.Rows.Add(dr);
	}
	sr.Close();
	
    this.dataGridView1.DataSource = dt;
}

补:

  • 正则表达式-替换

string result = String.Empty;
string str = “Just Test the Method”;
result = Regex.Replace(str, “\s{2,}”, " “);
//s{2,} 中的s表示空格,数字2表示两个或以上的空格 ,替换为后面的” "一个空格

StreamWriter

Public StreamWriter(string path,bool append, Encoding encoding);

  • append为false,则该文件被改写。
  • append为true,数据被追加到文件中,若没有则创建。

Directory类

在这里插入图片描述

Path类

在这里插入图片描述

DirectoryInfo类

在这里插入图片描述

  • 常见文件夹操作
//获取当前应用程序的路径 
Console.WriteLine(Directory.GetCurrentDirectory()); 

//获取当前计算机所有逻辑驱动器的名称 
string[] drvs=Directory.GetLogicalDrives(); 
foreach(string drv in drvs) 
{      
	Console.WriteLine(drv); 
}

//新建文件夹 
Directory.CreateDirectory("c:\\mydirectory"); 

//删除文件夹 
Directory.Delete("C:\\mydirectory",true); 

//移动文件夹 
Directory.Move("c:\\temp","d:\\qq\\temp");

//显示所有子文件
DirectoryInfo dInfo=new DirectoryInfo("c:\\WinNT"); 
DirectoryInfo[] dirs =  dInfo.GetDirectories(); 
foreach(DirectoryInfo dir in dirs) 
{      
	Console.WriteLine(dir.Name); 
} 

//显示文件夹中的文件
DirectoryInfo dInfo=new DirectoryInfo("c:\\WinNT"); 
FileInfo[] fs =  dInfo.GetFiles(); 
foreach(FileInfo f in dirs) 
{    
	Console.WriteLine(f.Name); 
} 

//显示文件夹中的文件(指定扩展名) 
DirectoryInfo dInfo=new DirectoryInfo("c:\\WinNT"); 
FileInfo[] fs =  dInfo.GetFiles("*.exe"); 
foreach(FileInfo f in dirs) 
{      
	Console.WriteLine(f.Name); 
}

//复制文件
File.Copy("c:\\temp.txt", "D:\\temp.txt",true);
 
//删除文件 
File.Delete("c:\\temp.txt"); 

//确定文件是否存在 
bool b=File.Exists("c:\\temp.txt"); 

//获取文件大小 
FileInfo f=new FileInfo("文件名");
long leng=f.Length;

//获取文件的扩展名
FileInfo f=new FileInfo("文件名");
string ext=f.Extension;
string ext2=Path.GetExtension("路径全名");//两种方式

//获取路径中的文件名
FileInfo f=new FileInfo("文件名");
string name=f.name;
string name22=Path.GetFileName("路径全名");//两种方式
  • 获取文件夹信息
    DirectoryInfo dInfo=new DirectoryInfo (“c:\Win”);
信息 操作
最近访问时间 dInfo.LastAccessTime.ToLongDateString()
创建时间 dInfo.CreationTime.ToLongTimeString()
上级文件夹 dInfo.Parent.Name()
有子文件夹 dInfo.GetDirectories().Length.ToString()
包含文件 dInfo.GetFiles().Length.ToString()

猜你喜欢

转载自blog.csdn.net/qq_39623521/article/details/83929766