每次下载文件时,如何使文件名加一?
How can I make the file names to be raise by one each time a file is downloading?
这是代码:
for (int i = 0; i < dateTime.Count; i++)
{
string result = dateTime[i].ToString("yyyyMMddHHmm");
link = "http://www.sattest.com + "&time=" + result + "&ir=" +
infraredorvisual;
string filePath = Path.Combine(satimagesdir, "SatImage" + i + ".GIF");
try
{
client1.DownloadFile(link, filePath);
}
catch (Exception e)
{
DannyGeneral.Logger.Write(e.ToString());
}
}
程序第一次运行时 运行 它正在下载 9 个文件。
在 dateTime List 中每次有 9 个项目要下载。
我使用的计时器将每 10 分钟下载一次文件。
首先我的硬盘上有9个文件。
然后 10 分钟后,我希望下一个下载的文件将被命名为 SatImage10 然后 SatImage11...SatImage18
接下来 10 分钟在硬盘上我想看 SatImage19 然后 SatImage20...SatImage27
我该怎么做?问题是 dateTime 将始终包含 9 个文件,因此我将始终将文件命名为从 SatImage0 到 SatImage8 的变量。
使用变量标记您离开的地方:
private int last;
并按每次迭代的项目数递增,并使用它来设置图像名称:
for (int i = 0; i < dateTime.Count; i++)
{
...
string filePath = Path.Combine(satimagesdir, "SatImage" + (i + last) + ".GIF");
...
}
last += dateTime.Count;
如果您在两次下载之间关闭应用程序,您将需要迭代目录中的文件并从文件名中提取最新编号。
这是代码:
for (int i = 0; i < dateTime.Count; i++)
{
string result = dateTime[i].ToString("yyyyMMddHHmm");
link = "http://www.sattest.com + "&time=" + result + "&ir=" +
infraredorvisual;
string filePath = Path.Combine(satimagesdir, "SatImage" + i + ".GIF");
try
{
client1.DownloadFile(link, filePath);
}
catch (Exception e)
{
DannyGeneral.Logger.Write(e.ToString());
}
}
程序第一次运行时 运行 它正在下载 9 个文件。 在 dateTime List 中每次有 9 个项目要下载。 我使用的计时器将每 10 分钟下载一次文件。
首先我的硬盘上有9个文件。 然后 10 分钟后,我希望下一个下载的文件将被命名为 SatImage10 然后 SatImage11...SatImage18
接下来 10 分钟在硬盘上我想看 SatImage19 然后 SatImage20...SatImage27
我该怎么做?问题是 dateTime 将始终包含 9 个文件,因此我将始终将文件命名为从 SatImage0 到 SatImage8 的变量。
使用变量标记您离开的地方:
private int last;
并按每次迭代的项目数递增,并使用它来设置图像名称:
for (int i = 0; i < dateTime.Count; i++)
{
...
string filePath = Path.Combine(satimagesdir, "SatImage" + (i + last) + ".GIF");
...
}
last += dateTime.Count;
如果您在两次下载之间关闭应用程序,您将需要迭代目录中的文件并从文件名中提取最新编号。