using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace TextFile
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//我来创建目录
//注意:Directory和file一样都是静态的方法,可以得到返回的值的
//这个要切忌
//创建一个根目录
DirectoryInfo d=Directory.CreateDirectory("G://test");
//创建一个根目录的子目录
DirectoryInfo d1= d.CreateSubdirectory("test_1");
//创建第一个根目录的在下一个子目录
// ->: G://test//test_1//test_1_1
DirectoryInfo d2 = d1.CreateSubdirectory("test_1_1");
//切忌:不要忘记了设置当前的目录
Directory.SetCurrentDirectory("G://test");
//////////////////////////////////////////////////
/////////////////////////////////////////////////
//第二种方法创建根目录,直接用directory静态的方法直接创建
//下面两个目录是评级的:特别要当心
//->: G://test/test_2
Directory.CreateDirectory("test_2");
//->: G://test//test_2_1
Directory.CreateDirectory("test_2_1");
CopyDirectory("G://test//test_1","G://test//test_2");
}
/// <summary>
/// 做一个文件复制功能:注意是文件复制既是文件夹
/// </summary>
/// <param name="soufile">源文件</param>
/// <param name="targetfile">目标文件</param>
public static void CopyDirectory(string soufile, string targetfile)
{
//要复制文件就要先得到目录
//我们说路径就相当于文件名字
DirectoryInfo sou=new DirectoryInfo(soufile);
//////////////////////
//////目标文件-把文件封装成文件目录
DirectoryInfo target=new DirectoryInfo(targetfile);
if(!sou.Exists)
{
return;
}
if(!target.Exists)
{
//如果目标文件也不存在则创建一个目标文件只要你给定路径
target.Create();
//得到源文件夹下的所有文件-文件封装成一个目录以便于复制
FileInfo[] source=sou.GetFiles();
int filecount=source.Length;
for(int i=0; i<filecount; ++i)
{
//注意:文件拷贝有三个参数
File.Copy(source[i].FullName,target.FullName+"//"+source[i].Name,true);
}
DirectoryInfo[] soufiles=sou.GetDirectories();
//等到源文件夹下的所有文件夹,上面是文件
for(int j=0; j<soufiles.Length; ++j)
{
CopyDirectory(source[j].FullName,target.FullName+"//"+soufiles[j].Name);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
StreamWriter sw=new StreamWriter("G://a.txt");
sw.WriteLine("我开始写了");
sw.Flush();
sw.Close();
}
private void button3_Click(object sender, EventArgs e)
{
FileStream fs=new FileStream("G://a.txt",FileMode.Create);
StreamWriter sw=new StreamWriter(fs);
sw.WriteLine("我开始写了");
sw.Flush();
sw.Close();
}
private void button4_Click(object sender, EventArgs e)
{
//不用文件流写,就用文件写,文件是一个静态类,返回的可以是一个文件流
FileInfo fs=new FileInfo("G://a.txt");
//利用文件的静态方法创建一个写文件的方法
StreamWriter sw= fs.CreateText();
sw.WriteLine("Hello Word");
sw.Flush();
sw.Close();
//FileInfo fs=new FileInfo("G://a.txt");
// StreamWriter =fs.CreateText();
//sw.Write("Hello Word");
//sw.Close();
using (StreamWriter sw = File.AppendText("G://a.txt"))
{
sw.Write("OK");
}
}
private void button5_Click(object sender, EventArgs e)
{
FileStream fs = new FileStream("G://a.txt", FileMode.Open);
StreamReader sr=new StreamReader(fs);
sr.ReadLine();
}
public static void Read()
{
StreamReader sr=File.OpenText("G://a.txt");
if(sr.Peek()>1)
{
sr.ReadLine();
}
}
public static void ReadLine()
{
FileStream fs = File.OpenRead("G://a.txt");
//返回一个字节数组信息,最后写书字节数组
byte[] buf = new byte[fs.Length];
fs.Read(buf, 0, buf.Length);
string s = Encoding.Default.GetString(buf);
}
public static void ReMove()
{
string oldFile;
string NewFile;
File.Copy(oldFile,NewFile);
MessageBox.Show("转移成功!!");
}
}
}