CSDN广告是越来越多了,所有博客笔记不再更新,新网址 DotNet笔记
File 类(静态类)
提供用于创建Create()、复制Copy()、删除Delete()、移动Move()和打开文件Open()以及加密Encrypt()的静态方法,并协助创建 FileStream 对象。
将 File 类用于典型的操作,如复制、移动、重命名、创建、打开、删除和追加到文件。 也可将 File 类用于获取和设置文件属性或有关文件创建、访问及写入操作的DateTime 信息。
许多 File 方法在您创建或打开文件时返回其他 I/O 类型。 可以使用这些其他类型进一步处理文件。有关更多信息,请参见特定的 File 成员,如 OpenText、CreateText 或 Create。
由于所有的 File 方法都是静态的,所以如果只想执行一个操作,那么使用 File 方法的效率比使用相应的 FileInfo 实例方法可能更高。 所有的 File 方法都要求当前所操作的文件的路径。
File 类的静态方法对所有方法都执行安全检查。 如果打算多次重用某个对象,可考虑改用 FileInfo 的相应实例方法,因为并不总是需要安全检查。
默认情况下,将向所有用户授予对新文件的完全读/写访问权限。
示例代码(控制台程序):
namespace FileOperoter
{
class Program
{
// Encrypt a file.
public static void AddEncryption(string FileName)
{
File.Encrypt(FileName);//加密文件
}
// Decrypt a file.
public static void RemoveEncryption(string FileName)
{
File.Decrypt(FileName);//解密文件
}
static void Main(string[] args)
{
if (File.Exists(@"C:\Users\Administrator\Desktop\123.txt"))//如果文件存在
{
File.Delete(@"C:\Users\Administrator\Desktop\123.txt");//删除文件
File.Copy(@"E:\学习\FileOperoter\FileOperoter\ems2.js", @"C:\Users\Administrator\Desktop\123.txt");//把ems2.js拷贝一份,放在桌面上,命名为123.txt
if (File.Exists(@"C:\Users\Administrator\Desktop\123.txt"))
{
Console.WriteLine("复制成功!");
}
else
{
Console.WriteLine("复制失败!");
}
}
else
{
Console.WriteLine("开始创建!");
File.Create(@"C:\Users\Administrator\Desktop\123.txt");//创建文件
Console.WriteLine("创建成功!");
}
//==============================加密/解密操作=======================================
try
{
string FileName = @"E:\学习\FileOperoter\FileOperoter\ems2.js";
Console.WriteLine("Encrypt " + FileName);
AddEncryption(FileName);
Console.WriteLine("Decrypt " + FileName);
RemoveEncryption(FileName);
Console.WriteLine("Done");
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.ReadLine();
}
}
}
FileInfo 类(几乎和File类功能相同,只是一个静态类,一个为普通类,之所以说几乎,其中一点就是普通类有几个专用属性,好比说,length) |
提供创建、复制、删除、移动和打开文件的实例方法,并且帮助创建 FileStream 对象。 此类不能被继承。
将 FileInfo 类用于典型的操作,如复制、移动、重命名、创建、打开、删除和追加到文件。
如 Open、OpenRead、 OpenText、 CreateText 或 Create。
如果打算多次重用某个对象,可考虑使用 FileInfo 的实例方法,而不是 File 类的相应静态方法,因为并不总是需要安全检查。
如果只想执行一个操作,那么使用 File 方法的效率比使用相应的 FileInfo 实例方法可能更高...默认情况下,将向所有用户授予对新文件的完
全读/写访问权限。
string path = Path.GetTempFileName();//创建磁盘上唯一命名的零字节的临时文件并返回该文件的完整路径。
FileInfo fi1 = new FileInfo(path);
string path2 = Path.GetTempFileName();
FileInfo fi2 = new FileInfo(path2);
Console.WriteLine(path);
Console.WriteLine(path2);
fi2.Delete();
fi1.CopyTo(path2);
Console.WriteLine("{0} was copied to {1}.", path, path2);
fi2.Delete();
Console.WriteLine("{0} was successfully deleted.", path2);
Console.Read();
FileInfo有几个专用属性:
- Length 文件的大小(字节)
- IsReadOnly
- Directory 获取当前所在目录
- DirectoryName 返回文件目录的路径