在 Windows Mobile 6.5 上删除文件时出错
Error on delete file at Windows Mobile 6.5
我正在为 windows 移动 6.5 开发一个项目。我正在使用 C# 和 compact framework 3.5 (CF 3.5) 和 SDK for Windows Mobile 6.5.
我的例程将文件写入临时目录以供进一步处理。几天后,文件被重命名并被定向到清除。
尝试删除文件时出现以下错误:访问路径 '\Application Data\Volatile\Temp170822-97703.Nf.env' 被拒绝。
其中:
- \Application Data\Volatile为默认临时目录
Path.GetTempPath()
- \Temp 是我的临时目录
- 20170822-97703.Nf.env是我的文件。
代码:
const string dirTemp= "Temp";
public void PurgeFiles()
{
DateTime datePurge= new DateTime();
datePurge= DateTime.Now.AddDays(-7);
var files= FindFiles();
foreach (string file in files)
{
var dateAlt = Directory.GetLastWriteTime(file);
if (dateAlt< datePurge)
{
Directory.Delete(file);
}
}
}
private string[] FindFiles()
{
string searchPattern;
string dirLocal;
dirLocal= Path.GetTempPath();
dirLocal= Path.Combine(dirLocal, dirTemp);
if (Directory.Exists(dirLocal))
{
searchPattern = "*.Env";
var files = Directory.GetFiles(dirLocal, searchPattern);
return files;
}
else
return new string[0];
}
保存文件
public bool SaveFile(string dir, string fileName, string content)
{
try
{
if (!Directory.Exists(dir))
Directory.CreateDirectory(dir);
string pathFile = Path.Combine(dir, fileName);
if (File.Exists(pathFile))
return true;
//Salva os dados
StreamWriter fileConf = new StreamWriter(pathFile);
fileConf.Write(content);
fileConf.Flush();
fileConf.Close();
return true;
}
catch (Exception ex)
{
return false;
}
}
将文件标记为已处理
public void MarkFile(string fileName)
{
try
{
string newFileName= fileName + ".env";
if (File.Exists(newFileName))
return;
File.Move(fileName , newFileName);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
为了能删除文件我改了文件名和下面一行
Directory.Delete(file);
为了
File.Delete(file);
我正在为 windows 移动 6.5 开发一个项目。我正在使用 C# 和 compact framework 3.5 (CF 3.5) 和 SDK for Windows Mobile 6.5.
我的例程将文件写入临时目录以供进一步处理。几天后,文件被重命名并被定向到清除。
尝试删除文件时出现以下错误:访问路径 '\Application Data\Volatile\Temp170822-97703.Nf.env' 被拒绝。
其中:
- \Application Data\Volatile为默认临时目录
Path.GetTempPath()
- \Temp 是我的临时目录
- 20170822-97703.Nf.env是我的文件。
代码:
const string dirTemp= "Temp";
public void PurgeFiles()
{
DateTime datePurge= new DateTime();
datePurge= DateTime.Now.AddDays(-7);
var files= FindFiles();
foreach (string file in files)
{
var dateAlt = Directory.GetLastWriteTime(file);
if (dateAlt< datePurge)
{
Directory.Delete(file);
}
}
}
private string[] FindFiles()
{
string searchPattern;
string dirLocal;
dirLocal= Path.GetTempPath();
dirLocal= Path.Combine(dirLocal, dirTemp);
if (Directory.Exists(dirLocal))
{
searchPattern = "*.Env";
var files = Directory.GetFiles(dirLocal, searchPattern);
return files;
}
else
return new string[0];
}
保存文件
public bool SaveFile(string dir, string fileName, string content)
{
try
{
if (!Directory.Exists(dir))
Directory.CreateDirectory(dir);
string pathFile = Path.Combine(dir, fileName);
if (File.Exists(pathFile))
return true;
//Salva os dados
StreamWriter fileConf = new StreamWriter(pathFile);
fileConf.Write(content);
fileConf.Flush();
fileConf.Close();
return true;
}
catch (Exception ex)
{
return false;
}
}
将文件标记为已处理
public void MarkFile(string fileName)
{
try
{
string newFileName= fileName + ".env";
if (File.Exists(newFileName))
return;
File.Move(fileName , newFileName);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
为了能删除文件我改了文件名和下面一行
Directory.Delete(file);
为了
File.Delete(file);