1.在一个目录下创建一个文件夹
if(!System.IO.Directory.Exists(path)) System.IO.Directory.CreateDirectory(path); Stringpath=@”C:/新文件夹的名字”
2.时间的字符串表示法20080616091219
System.DateTime.Now.ToString("yyyyMMdd"),System.DateTime.Now.ToString("HHmmss")
DateTime.Now.ToString("yyyy/MM/ddHH:mm:ss")
3.获取系统的特殊文件的路径
Stringpath=Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
//有下划线的为Environment.SpecialFolder的枚举,还有很多
4.拷贝一个文件到另一个目录下
System.IO.File.Copy(要拷贝的文件目录,目的目录);
注意:两个目录都要是具体的文件名,不能是文件夹。
5.取当前程序集。EXE文件所在的绝对路径
StringlocationPath=
System.Reflection.Assembly.GetExecutingAssembly().Location
6.取得运行中的程序名字和路径(和上面的结果一样)
System.Reflection.Assembly.GetExecutingAssembly().CodeBase.Substring(8);
System.Reflection.Assembly.GetExecutingAssembly().CodeBase; 的意思就是取得运行中的程序名字和路径 但前面有file:///重要的格式 file:///D:/Project/bin/Debug/WindowsApplication.EXE
System.Reflection.Assembly.GetExecutingAssembly().CodeBase.Substring(8); 的意思就是从第8位开始取得字符串 D:/Project/bin/Debug/WindowsApplication.EXE
7.将文件目录按/号分割开(如上例中的目录)
string[]strLoc;
strLoc=locationPath.Split('//');
想取到哪一级目录就取到哪一级目录
StringstrParticalPath;
for(intj=0;j<strLoc.Length-1;j++) { strParticalPath+=strLoc[j]+"//"; }
8.打开某个文件夹/文件
System.Diagnostics.Process.Start(path);
path为文件夹目录
System.IO.File.Open(path2,FileMode.Open);
新文件夹的名字/文件的名字”
9.取得目录(m_path)下所有文件的文件名
//返回的是m_path目录里每一个.txt文件的完整的路径
//其中m_path为目录的完整路径
string[]fileName=System.IO.Directory.GetFiles(m_path,"*.txt");
//取得第一个.txt文件的路径
m_allFilePath=fileName[0];
//如果目录下还有子目录就用下面这个
string[]fileNames=System.IO.Directory.GetFiles(m_path,"*",SearchOption.AllDirectories);
10.获取一个文件夹中所有文件的大小
longfileSize=0;
stringsOutDir=@"D:/data/CD01";
DirectoryInfodirInfo=newDirectoryInfo(sOutDir);
foreach(FileInfofileInfoindirInfo.GetFiles())
{ fileSize+=fileInfo.Length;
}
11.DirectoryInfo.GetFiles();DirectoryInfo.GetDirectories();DirectoryInfo.GetFileSystemInfos()比较
DirectoryInfodir=newDirectoryInfo(path);//path为文件夹路径
FileInfo[]a=dir.GetFiles();//获取路径下文件的名字
DirectoryInfo[]b=dir.GetDirectories();//获取路径下文件夹的名字
FileSystemInfo[]c=dir.GetFileSystemInfos();//获取路径下文件和文件夹的名字
12.一个文件夹(包括子文件夹)中所有文件的个数 publicstaticintGetFileCount(stringpath) { System.IO.DirectoryInfodir=newDirectoryInfo(path); intcount=dir.GetFiles().Length; foreach(DirectoryInfodindir.GetDirectories()) { count+=GetFileCount(d.FullName); } returncount; }
13.一个文件夹(包括子文件夹)中所有文件的大小
publicstaticlongFolderSize(stringpath)
{ longFsize=0; try { FileInfo[]files=(newDirectoryInfo(path)).GetFiles();
foreach(FileInfofileinfiles) { Fsize+=file.Length; }
DirectoryInfo[]folders=(newDirectoryInfo(path)).GetDirectories();
foreach(DirectoryInfofolderinfolders) { Fsize+=FolderSize(folder.FullName); } } catch(Exceptionex) { returnFsize; } returnFsize; }
14.文件读写操作
StaticvoidMain(string[]args)
{ conststringfilePath=@””; FileStreamfs=null; try { Console.WriteLine(“开始往文件中写内容”);
fs=newFileStream(filePath,FileMode.OpenOrCreate,FileAccess.ReadWrite);
byte[]bytes=Encoding.Default.GetBytes(“这是一个字符串,将插入到文本文件中”);
//向流中写入指定的字节数组
fs.Write(bytes,0,bytes.Length);
//将缓存区的内容存储到媒体并清除缓存区。
fs.Flush();
//将流指针移到开头
fs.Seek(0,SeekOrigin.Begin);
byte[]bytes2=newbyte[bytes.Length];
fs.Read(bytes2,0,bytes.Length);
stringstr=Encoding.Default.GetString(bytes2);
Console.WriteLine(“从文件中读出的字符串为”+Environment.NewLine+str);
}
catch(IOExceptionex)
{ Console.WriteLine(“发生的文件处理的错误!”+ex.Message);
}
finally
{ Console.WriteLine(“不论是否发生异常,都会执行finally到这里”); if(fs!=null) { fs.Close();
}
Console.ReadLine();
}
}
15.生成一个.txt文件,并往里写一串字符串。
FileStreammystream=newFileStream(fileName,FileMode.OpenOrCreate);
StreamWriterMywriter=newStreamWriter(mystream,Encoding.Default);
stringtext="";
Mywriter.Write(text);
Mywriter.Close();
mystream.Close();
16.删去某个文件
//m_allFilePath为文件的完整路径,包括后缀
System.IO.File.Delete(m_allFilePath);
浙公网安备 33010602011771号