日期:2011-03-22 13:56:00 来源:本站整理
<b>托管C++中操纵path对象处理Temp文件</b>[VC/C++编程]
本文“<b>托管C++中操纵path对象处理Temp文件</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
程序中有时避免不了要利用暂时文件,但在微软的.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);
以上是“<b>托管C++中操纵path对象处理Temp文件</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论