我已经编写了一些代码,这些代码应该将文件写入临时目录,然后将其复制到永久位置,但发现这样做会在复制命令中产生与权限相关的错误。代码如下所示:
string tempPath = Path.GetTempFileName();
Stream theStream = new FileStream(tempPath, FileMode.Create);
// Do stuff.
File.Copy(tempPath, _CMan.SavePath, true);
File.Delete(tempPath);我模糊地记得,有一个API调用可以在指定的目录中创建一个临时文件,并作为参数传递。但是,那是我在VB的6天中模糊的记忆。
那么,如何在Windows定义的临时目录之外的目录中创建临时文件呢?
发布于 2009-03-23 17:14:56
Path.Combine(directoryYouWantTheRandomFile, Path.GetRandomFileName())发布于 2009-03-23 17:16:04
你的问题有点离题,但也许你只是在尝试复制之前没有关闭流?如果这真的是一个权限问题,那么当你打开这个流的时候,你似乎就遇到了基于权限的问题。
发布于 2009-03-30 10:33:13
您还可以使用GetTempFileName Win32 API函数来执行此操作:
<DllImport("kernel32.dll")> _
Private Shared Function GetTempFileName(ByVal lpPathName As String, ByVal lpPrefixString As String, ByVal uUnique As Integer, ByVal lpTempFileName As StringBuilder) As Integer
End Function
Sub CreateFile()
Const path As String = "C:\MyTemp"
Const prefix As String = "tmp"
Dim fileName As New StringBuilder(576)
Dim result As Integer = GetTempFileName(path, prefix, 0, fileName)
End Subhttps://stackoverflow.com/questions/674303
复制相似问题