Так что я пишу код, который проходит через каталог .xlsx
файлов и выбирает файл, который был создан последним. Это простая задача, но есть что-то странное, что происходит с свойством Name
конкретного объекта FileInfo
, и, возможно, в этом случае происходит больше случаев.
Вот мой код:
DirectoryInfo di = new DirectoryInfo(FolderPath);
FileInfo[] FileArray = di.GetFiles("*.xlsx", SearchOption.AllDirectories);
if (FileArray.Count() != 0)
{
DateTime latestDate = DateTime.MinValue;
string FileName = String.Empty;
foreach (FileInfo File in FileArray)
{
if (File.CreationTime > latestDate)
{
latestDate = File.CreationTime;
FileName = File.FullName;
}
}
}
FileName
важно, потому что я использую его, чтобы запросить последнюю версию файла для информации и ее отображения. Однако свойство Name
конкретного .xlsx файла (потенциально больше) появляется так: ~$File.xlsx
, когда на самом деле имя файла действительно File.xlsx
. Это приводит к тому, что свойство FullName
содержит эти символы.
Есть ли способ исправить это? Что вызывает это?
Офисные инструменты Microsoft, такие как excel и work, создают временные файлы, начинающиеся с ~ $. Я думаю, что эти файлы существуют в вашей папке, и класс File просто показывает эту информацию. – svrcoder