C#检查文件路径,包括压缩文件夹
本文关键字:包括 压缩 文件夹 路径 检查 文件 | 更新日期: 2023-09-27 17:59:11
我正在尝试验证一个包含压缩文件夹的文件路径,但由于某种原因,当给定一个存在的路径(我已经检查过)时,我的File.Exists()
方法只返回false
。
文件路径示例:C:'Users'richa_000'Desktop'exporter'forex'fxcm'minute'audjpy'my_zipped_folder'is_thisFile_here.csv
File.Exists()
是否适用于压缩文件夹?这是我支票上的零钱吗?
Program.cs
namespace TradingDaysFileChecker
{
class Program
{
static void Main(string[] args)
{
var startDate = new DateTime(2007, 04, 01);
var endDate = new DateTime(2016, 07, 25);
var dataFilePath = @"C:'Users'richa_000'Desktop'exporter'forex'fxcm'minute'";
var securityType = SecurityType.Forex;
var ticker = TickType.Trade;
var marketHoursDatabase = MarketHoursDatabase.FromDataFolder();
var market = Market.FXCM;
var symbol = Symbol.Create(ticker.ToString(), securityType, market);
var marketHoursDbEntry = marketHoursDatabase.GetEntry(symbol.ID.Market, symbol.Value, symbol.ID.SecurityType);
var exchange = new ForexExchange(marketHoursDbEntry.ExchangeHours);
var validTradingDays = new DateHandler(startDate, endDate, dataFilePath).IterateOverDateRange(exchange);
var forexSecuritiesFolders = Directory.GetDirectories(dataFilePath);
foreach (var validDay in validTradingDays)
{
foreach (var forexSecurity in forexSecuritiesFolders)
{
var securityName = new DirectoryInfo(forexSecurity).Name;
var formattedFolderName = validDay.ToString("yyyyMMdd") + "_quote"; // Checks folder name
var formattedFileName = validDay.ToString("yyyyMMdd") + securityName + "_minute_quote";
var dataFile = dataFilePath + securityName + @"'" + formattedFolderName + @"'" + formattedFileName;
if (!File.Exists(dataFile))
{
// Some logic round here
}
}
}
Console.ReadLine();
}
}
}
实际上并没有压缩文件夹这样的东西。有一个zip存档,它以文件的形式存储。该档案包含自己的文件结构,类似于文件夹和文件,但与操作系统的文件夹/文件结构无关。Windows资源管理器很好地伪造了它,但当你在.zip文件中浏览时,你会注意到资源管理器的局限性。
如果您想确定zip档案是否包含文件,则必须分析它。要做到这一点,您需要查看ZipArchive类。