C#总结文件.docx

上传人:b****8 文档编号:10539455 上传时间:2023-02-21 格式:DOCX 页数:25 大小:21.65KB
下载 相关 举报
C#总结文件.docx_第1页
第1页 / 共25页
C#总结文件.docx_第2页
第2页 / 共25页
C#总结文件.docx_第3页
第3页 / 共25页
C#总结文件.docx_第4页
第4页 / 共25页
C#总结文件.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C#总结文件.docx

《C#总结文件.docx》由会员分享,可在线阅读,更多相关《C#总结文件.docx(25页珍藏版)》请在冰豆网上搜索。

C#总结文件.docx

C#总结文件

C#文件操作方法大全

C#追加文件

StreamWritersw=File.AppendText(Server.MapPath(".")+"\\myText.txt");

sw.WriteLine("追逐理想");

sw.WriteLine("kzlll");

sw.WriteLine(".NET笔记");

sw.Flush();

sw.Close();

C#拷贝文件

stringOrignFile,NewFile;

OrignFile=Server.MapPath(".")+"\\myText.txt";

NewFile=Server.MapPath(".")+"\\myTextCopy.txt";

File.Copy(OrignFile,NewFile,true);

C#删除文件

stringdelFile=Server.MapPath(".")+"\\myTextCopy.txt";

File.Delete(delFile);

C#移动文件

stringOrignFile,NewFile;

OrignFile=Server.MapPath(".")+"\\myText.txt";

NewFile=Server.MapPath(".")+"\\myTextCopy.txt";

File.Move(OrignFile,NewFile);

C#创建目录

//创建目录c:

\sixAge

DirectoryInfod=Directory.CreateDirectory("c:

\\sixAge");

//d1指向c:

\sixAge\sixAge1

DirectoryInfod1=d.CreateSubdirectory("sixAge1");

//d2指向c:

\sixAge\sixAge1\sixAge1_1

DirectoryInfod2=d1.CreateSubdirectory("sixAge1_1");

//将当前目录设为c:

\sixAge

Directory.SetCurrentDirectory("c:

\\sixAge");

//创建目录c:

\sixAge\sixAge2

Directory.CreateDirectory("sixAge2");

//创建目录c:

\sixAge\sixAge2\sixAge2_1

Directory.CreateDirectory("sixAge2\\sixAge2_1");

递归删除文件夹及文件

<%@PageLanguage=C#%>

<%@Importnamespace="System.IO"%>

publicvoidDeleteFolder(stringdir)

{

if(Directory.Exists(dir))//如果存在这个文件夹删除之

{

foreach(stringdinDirectory.GetFileSystemEntries(dir))

{

if(File.Exists(d))

File.Delete(d);//直接删除其中的文件

else

DeleteFolder(d);//递归删除子文件夹

}

Directory.Delete(dir);//删除已空文件夹

Response.Write(dir+"文件夹删除成功");

}

else

Response.Write(dir+"该文件夹不存在");//如果文件夹不存在则提示

}

protectedvoidPage_Load(Objectsender,EventArgse)

{

stringDir="D:

\\gbook\\11";

DeleteFolder(Dir);//调用函数删除文件夹

}

//======================================================

//实现一个静态方法将指定文件夹下面的所有内容copy到目标文件夹下面

//如果目标文件夹为只读属性就会报错。

//April18April2005InSTU

//======================================================

publicstaticvoidCopyDir(stringsrcPath,stringaimPath)

{

try

{

//检查目标目录是否以目录分割字符结束如果不是则添加之

if(aimPath[aimPath.Length-1]!

=Path.DirectorySeparatorChar)

aimPath+=Path.DirectorySeparatorChar;

//判断目标目录是否存在如果不存在则新建之

if(!

Directory.Exists(aimPath))Directory.CreateDirectory(aimPath);

//得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组

//如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法

//string[]fileList=Directory.GetFiles(srcPath);

string[]fileList=Directory.GetFileSystemEntries(srcPath);

//遍历所有的文件和目录

foreach(stringfileinfileList)

{

//先当作目录处理如果存在这个目录就递归Copy该目录下面的文件

if(Directory.Exists(file))

CopyDir(file,aimPath+Path.GetFileName(file));

//否则直接Copy文件

else

File.Copy(file,aimPath+Path.GetFileName(file),true);

}

}

catch(Exceptione)

{

MessageBox.Show(e.ToString());

}

}

//======================================================

//实现一个静态方法将指定文件夹下面的所有内容Detele

//测试的时候要小心操作,删除之后无法恢复。

//April18April2005InSTU

//======================================================

publicstaticvoidDeleteDir(stringaimPath)

{

try

{

//检查目标目录是否以目录分割字符结束如果不是则添加之

if(aimPath[aimPath.Length-1]!

=Path.DirectorySeparatorChar)

aimPath+=Path.DirectorySeparatorChar;

//得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组

//如果你指向Delete目标文件下面的文件而不包含目录请使用下面的方法

//string[]fileList=Directory.GetFiles(aimPath);

string[]fileList=Directory.GetFileSystemEntries(aimPath);

//遍历所有的文件和目录

foreach(stringfileinfileList)

{

//先当作目录处理如果存在这个目录就递归Delete该目录下面的文件

if(Directory.Exists(file))

{

DeleteDir(aimPath+Path.GetFileName(file));

}

//否则直接Delete文件

else

{

File.Delete(aimPath+Path.GetFileName(file));

}

}

//删除文件夹

System.IO.Directory.Delete(aimPath,true);

}

catch(Exceptione)

{

MessageBox.Show(e.ToString());

}

}

需要引用命名空间:

usingSystem.IO;

/**////

///

///

///

//--------------------------------------------------

//---------------------------------------------------

publicstaticvoidCopyFolder(stringstrFromPath,stringstrToPath)

{

//如果源文件夹不存在,则创建

if(!

Directory.Exists(strFromPath))

{

Directory.CreateDirectory(strFromPath);

}

//取得要拷贝的文件夹名

stringstrFolderName=strFromPath.Substring(strFromPath.LastIndexOf("\\")+1,strFromPath.Length-strFromPath.LastIndexOf("\\")-1);

//如果目标文件夹中没有源文件夹则在目标文件夹中创建源文件夹

if(!

Directory.Exists(strToPath+"\\"+strFolderName))

{

Directory.CreateDirectory(strToPath+"\\"+strFolderName);

}

//创建数组保存源文件夹下的文件名

string[]strFiles=Directory.GetFiles(strFromPath);

//循环拷贝文件

for(inti=0;i

{

//取得拷贝的文件名,只取文件名,地址截掉。

stringstrFileName=strFiles[i].Substring(strFiles[i].LastIndexOf("\\")+1,strFiles[i].Length-strFiles[i].LastIndexOf("\\")-1);

//开始拷贝文件,true表示覆盖同名文件

File.Copy(strFiles[i],strToPath+"\\"+strFolderName+"\\"+strFileName,true);

}

//创建DirectoryInfo实例

DirectoryInfodirInfo=newDirectoryInfo(strFromPath);

//取得源文件夹下的所有子文件夹名称

DirectoryInfo[]ZiPath=dirInfo.GetDirectories();

for(intj=0;j

{

//获取所有子文件夹名

stringstrZiPath=strFromPath+"\\"+ZiPath[j].ToString();

//把得到的子文件夹当成新的源文件夹,从头开始新一轮的拷贝

CopyFolder(strZiPath,strToPath+"\\"+strFolderName);

}

}

一.读取文本文件

/**////

///读取文本文件

///

privatevoidReadFromTxtFile()

{

if(filePath.PostedFile.FileName!

="")

{

txtFilePath=filePath.PostedFile.FileName;

fileExtName=txtFilePath.Substring(txtFilePath.LastIndexOf(".")+1,3);

if(fileExtName!

="txt"&&fileExtName!

="TXT")

{

Response.Write("请选择文本文件");

}

else

{

StreamReaderfileStream=newStreamReader(txtFilePath,Encoding.Default);

txtContent.Text=fileStream.ReadToEnd();

fileStream.Close();

}

}

}

二.获取文件列表

1/**////

2///获取文件列表

3///

4privatevoidGetFileList()

5{

6stringstrCurDir,FileName,FileExt;

7

8/**////文件大小

9longFileSize;

10

11/**////最后修改时间;

12DateTimeFileModify;

13

14/**////初始化

15if(!

IsPostBack)

16{

17/**////初始化时,默认为当前页面所在的目录

18strCurDir=Server.MapPath(".");

19lblCurDir.Text=strCurDir;

20txtCurDir.Text=strCurDir;

21}

22else

23{

24strCurDir=txtCurDir.Text;

25txtCurDir.Text=strCurDir;

26lblCurDir.Text=strCurDir;

27}

28FileInfofi;

29DirectoryInfodir;

30TableCelltd;

31TableRowtr;

32tr=newTableRow();

33

34/**////动态添加单元格内容

35td=newTableCell();

36td.Controls.Add(newLiteralControl("文件名"));

37tr.Cells.Add(td);

38td=newTableCell();

39td.Controls.Add(newLiteralControl("文件类型"));

40tr.Cells.Add(td);

41td=newTableCell();

42td.Controls.Add(newLiteralControl("文件大小"));

43tr.Cells.Add(td);

44td=newTableCell();

45td.Controls.Add(newLiteralControl("最后修改时间"));

46tr.Cells.Add(td);

47

48tableDirInfo.Rows.Add(tr);

49

50/**////针对当前目录建立目录引用对象

51DirectoryInfodirInfo=newDirectoryInfo(txtCurDir.Text);

52

53/**////循环判断当前目录下的文件和目录

54foreach(FileSystemInfofsiindirInfo.GetFileSystemInfos())

55{

56FileName="";

57FileExt="";

58FileSize=0;

59

60/**////如果是文件

61if(fsiisFileInfo)

62{

63fi=(FileInfo)fsi;

64

65/**////取得文件名

66FileName=fi.Name;

67

68/**////取得文件的扩展名

69FileExt=fi.Extension;

70

71/**////取得文件的大小

72FileSize=fi.Length;

73

74/**////取得文件的最后修改时间

75FileModify=fi.LastWriteTime;

76}

77

78/**////否则是目录

79else

80{

81dir=(DirectoryInfo)fsi;

82

83/**////取得目录名

84FileName=dir.Name;

85

86/**////取得目录的最后修改时间

87FileModify=dir.LastWriteTime;

88

89/**////设置文件的扩展名为"文件夹"

90FileExt="文件夹";

91}

92

93/**////动态添加表格内容

94tr=newTableRow();

95td=newTableCell();

96td.Controls.Add(newLiteralControl(FileName));

97tr.Cells.Add(td);

98td=newTableCell();

99td.Controls.Add(newLiteralControl(FileExt));

100tr.Cells.Add(td);

101td=newTableCell();

102td.Controls.Add(newLiteralControl(FileSize.ToString()+"字节"));

103tr.Cells.Add(td);

104td=newTableCell();

105td.Controls.Add(newLiteralControl(FileModify.ToString("yyyy-mm-ddhh:

mm:

ss")));

106tr.Cells.Add(td);

107tableDirInfo.Rows.Add(tr);

108}

109}

三.读取日志文件

1/**////

2///读取日志文件

3///

4privatevoidReadLogFile()

5{

6/**////从指定的目录以打开或者创建的形式读取日志文件

7FileStreamfs=newFileStream(Server.MapPath("upedFile")+"\\logfile.txt",FileMode.OpenOrCreate,FileAccess.Read);

8

9/**////定义输出字符串

10StringBuilderoutput=newStringBuilder();

11

12/**////初始化该字符串的长度为0

13output.Length=0;

14

15/**////为上面创建的文件流创建读取数据流

16StreamReaderread=newStreamReader(fs);

17

18/**////设置当前流的起始位置为文件流的起始点

19read.BaseStream.Seek(0,SeekOrigin.Begin);

20

21/**////读取文件

22while(read.Peek()>-1)

23{

24/**////取文件的一行内容并换行

25output.Append(read.ReadLine()+"\n");

26}

27

28/**////关闭释放读数据流

29read.Close();

30

31/**////返回读到的日志文件内容

32returnoutput.ToString();

33}

四.写入日志文件

1/**////

2///写入日志文件

3///

4///

5privatevoidWriteLogFile(stringinput)

6{

7/**////指定日志文件的目录

8stringfname=Server.MapPath("upedFile")+"\\logfile.txt";

9/**////定义文件信息对象

10FileInfofinfo=newFileInfo(fname);

11

12/**////判断文件是否存在以及是否大于2K

13if(finfo.Exists&&finfo.Length>2048)

14{

15/**////删除该文件

16finfo.Delete();

17}

18/**////创建只写文件流

19using(FileStreamfs=finfo.OpenWrite())

20{

21/**////根据上面创建的文件流创建写数据流

22StreamWriterw=newStreamWriter(fs);

23

24/**////设置写数据流的起始位置为文件流的末尾

25w.BaseStream.Seek(0,SeekOrigin.End);

26

27w.Write("\nLogEntry:

");

29

30/**////写入当前系统时间并换行

31w.Write("{0}{1}\r\n",DateTime.Now.ToLongTimeString(),

32DateTime.Now.ToLongDateString());

33

34/**////写入日志内容并换行

35w.Write(input+"\n");

36

37/**////写入------------------------------------“并换行

38w.Write("------------------------------------\n");

39

40/**////清空缓冲区内容,并把缓冲区内容写入基础流

41w.Flush();

42

43/**////关闭写数据流

44w.Close();

45}

46}

五.C#创建HTML文件

1/**////

2///创建HTML文件

3///

4privatevoidCreateHtmlFi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1