当前位置:天才代写 > tutorial > C语言/C++ 教程 > 托管C++中操作path工具处理惩罚Temp文件

托管C++中操作path工具处理惩罚Temp文件

2017-11-06 08:00 星期一 所属: C语言/C++ 教程 浏览:376

措施中有时制止不了要利用姑且文件,但在微软的.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);

 

    关键字:

天才代写-代写联系方式