当前位置:七道奇文章资讯编程技术VC/C++编程
日期: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++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .