措施中有时制止不了要利用姑且文件,但在微软的.NET新平台中,很多编程者还未操作Path工具的便利条件来处理惩罚姑且文件,仍然手工确定应用措施当前目次中的独一文件名,并在措施用完之后删除。
本文要演示的能力,是通过利用Path类,以一两行的代码,就可完成下述任务:
1、 定位"temp"目次。
2、 建设独一的、优化过的姑且文件。
3、 利用完后删除姑且文件。
定位"Temp"目次
要确定"temp"目次,可利用Path::GetTempPath静态要领,此处重点要留意的是,需把对此要领的挪用,放在一个try/block块中,因为基于当前用户的权限,很大概会抛出一个SecurityException(安详异常)。
using namespace System::Security;
using namespace System::IO;
...
String tempFolder;
try
{
tempFolder = Path::GetTempPath();
}
catch(SecurityException* ex)
{
//很大概意味着你没有所需的权限
}
catch(Exception* ex)
{
//处理惩罚其他所有异常
}
建设并优化姑且文件
在此可利用Path::GetTempFileName来获得姑且文件的独一名称,这个要了解建设一个文件,并返回最近建设的文件名。
文件属性被设为"存档",实质上为了防备 .NET对它举办优化,因此,假如把文件属性改为其他的,就可以从 .NET运行时(runtime)缓存中获得一小点的机能晋升。
一开始,要利用姑且文件名来结构一个FileInfo工具,并配置FileInfo的Attributes为FileAttributes::Temporary:
using namespace System::Security;
using namespace System::IO;
...
String* fileName;
fileName->Empty;
try
{
//建设一个长度为零的姑且文件
fileName = Path::GetTempFileName();
//把文件属性设为"Temporary"以得到更好的机能
FileInfo* myFileInfo = new FileInfo(fileName);
myFileInfo->Attributes = FileAttributes::Temporary;
...
}
catch(Exception* ex)
{
//处理惩罚异常
}
利用及删除姑且文件
一旦建设了姑且文件,就可像利用其他文件一样利用它,譬喻,可在上面的try/block块中插入以下代码,其利用了StreamWriter类在姑且文件中写入一条简朴的字符串:
//向姑且文件中写入数据
StreamWriter* writer = File::AppendText(fileName);
writer->WriteLine("A test sample data");
writer->Flush();
writer->Close();
写入的数据可通过下面的StreamReader读取,在此,可把整个文件的内容都读入到一个String工具中:
StreamReader* reader = File::OpenText(fileName);
最后,在利用完了姑且文件,可用File::Delete来删除,只需简朴地通报进文件名就行了:
File::Delete(fileName);