Winform操作文件

//创建写入
private void button1_Click(object sender, EventArgs e)
{
string filename = Directory.GetCurrentDirectory() + "\\File\\" + DateTime.Now.ToString("yyyyMMddHH") + ".txt";

//string files= Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\"+filename+".txt";
if (!File.Exists(filename))
{

FileStream fs1 = new FileStream(filename, FileMode.Create, FileAccess.Write);
//创建写入文件
StreamWriter sw = new StreamWriter(fs1);
sw.WriteLine("asdfa");//开始写入值
sw.Close();
fs1.Close();
}
else
{
FileStream fs = new FileStream(filename, FileMode.Append);//文本加入不覆盖
// FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.ap);
//StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default);//转码
StreamWriter sr = new StreamWriter(fs);
sr.WriteLine("你好");//开始写入值
sr.Close();
fs.Close();
}
}

private void button2_Click(object sender, EventArgs e)
{
string filename = Directory.GetCurrentDirectory() + "\\File";
string ss = GetDirectoryLength(filename) / 1024 + "K";
}
//文件大小
public static long GetDirectoryLength(string dirPath)
{
//判断给定的路径是否存在,如果不存在则退出

if (!Directory.Exists(dirPath))
return 0;
long len = 0;
//定义一个DirectoryInfo对象
DirectoryInfo di = new DirectoryInfo(dirPath);
//通过GetFiles方法,获取di目录中的所有文件的大小
foreach (FileInfo fi in di.GetFiles())
{
len += fi.Length;
}
//获取di中所有的文件夹,并存到一个新的对象数组中,以进行递归
DirectoryInfo[] dis = di.GetDirectories();
if (dis.Length > 0)
{
for (int i = 0; i < dis.Length; i++)
{
len += GetDirectoryLength(dis[i].FullName);
}
}
return len;
}
private void CopyDir(string srcPath, string aimPath)
{
try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加
if (aimPath[aimPath.Length - 1] != System.IO.Path.DirectorySeparatorChar)
{
aimPath += System.IO.Path.DirectorySeparatorChar;
}
// 判断目标目录是否存在如果不存在则新建
if (!System.IO.Directory.Exists(aimPath))
{
System.IO.Directory.CreateDirectory(aimPath);
}
// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
// 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
// string[] fileList = Directory.GetFiles(srcPath);
string[] fileList = System.IO.Directory.GetFileSystemEntries(srcPath);
// 遍历所有的文件和目录
foreach (string file in fileList)
{
// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
if (System.IO.Directory.Exists(file))
{
CopyDir(file, aimPath + System.IO.Path.GetFileName(file));
}
// 否则直接Copy文件
else
{
System.IO.File.Copy(file, aimPath + System.IO.Path.GetFileName(file), true);
}
}
}
catch (Exception e)
{
throw;
}
}
//复制文件
private void button3_Click(object sender, EventArgs e)
{
string filename = Directory.GetCurrentDirectory() + "\\File";
string filenamen = Directory.GetCurrentDirectory() + "\\Files";
CopyDir(filename, filenamen);
}

posted @ 2018-05-10 10:34  华翎科技  阅读(128)  评论(0)    收藏  举报