读取文件名部分未知的文件

沙发

我想读取一个文本文件,但我只知道文件名的一部分。更具体地说,文件的格式为“ FOO_yyyymmdd_hhmmss.txt”,但是在运行程序时,我只会知道“ FOO_yyyymmdd_”和“ .txt”。换句话说,我想仅根据日期读取该文件,而忽略“ hhmmss”(时间)部分,因为我不知道该文件的时间,仅知道日期。

这是我到目前为止的部分内容:

ArrayList al = new ArrayList();

string FileName = "FOO_" + DateTime.Now.ToString("yyyymmdd") + "_" ;  //how do I correct this, keeping in mind that I need the time as well?

string InPath = @"\\myServer1\files\";
string OutPath = @"\\myServer2\files\";

string InFile = InPath + FileName;
string OutFile = OutPath + @"faceOut.txt";

using (StreamReader sr = new StreamReader(InFile))
{
    string line;

    while((line = sr.ReadLine()) != null)
    {
        al.Add(line);
    }
    sr.Close();                
}

如何在不事先知道整个字符串的情况下读取此文件?

德米特里·拜琴科(Dmitry Bychenko)

好吧,搜索文件,然后检查是否只有一个文件可以读取:

  var pathToSearch = @"\\myServer1\files\";
  var knownPart = string.Format("FOO_{0:yyyymmdd}_", DateTime.Now);

  var files = Directory
    .EnumerateFiles(pathToSearch, knownPart + "??????.txt")
    .Where(file => Regex.IsMatch(
      Path.GetFileNameWithoutExtension(file).Substring(knownPart.Length),
      "^(([0-1][0-9])|(2[0-3]))([0-5][0-9]){2}$"))
    .ToArray();

  if (files.Length <= 0) {
    // No such files are found
    // Probably, you want to throw an exception here
  }
  else if (files.Length > 1) {
    // Too many such files are found
    // Throw an exception or select the right file from "files"
  }
  else {
    // There's one file only
    var fileName = files[0];
    ...
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从目录中读取未知文件名

来自分类Dev

从powershell中的部分读取文件名

来自分类Dev

在可执行目录中打开文件名*文件名部分未知的文件

来自分类Dev

从文件名读取日期

来自分类Dev

For循环读取文件名

来自分类Dev

读取所选文件的文件名

来自分类Dev

读取文件并与文件名匹配

来自分类Dev

提取文件名部分以解决文件名冲突

来自分类Dev

将文件的未知部分读取到矢量

来自分类Dev

将文件的未知部分读取到矢量

来自分类Dev

opendir无法读取完整的文件名

来自分类Dev

无法从文件名读取特殊字符

来自分类Dev

读取乱码文件名(FTP / FSO)

来自分类Dev

从文件名读取信息

来自分类Dev

输入文件名并读取文本

来自分类Dev

PHP包含部分文件名

来自分类Dev

删除部分文件名

来自分类Dev

删除部分文件名

来自分类Dev

找到部分文件名mlocate

来自分类Dev

文件名的R个可变部分

来自分类Dev

交换部分文件名

来自分类Dev

Nifi:捕获文件名的中间部分

来自分类Dev

按文件名前缀顺序读取目录中的文件?

来自分类Dev

传递绝对文件名以在C ++中读取文件

来自分类Dev

如何读取目录中最后修改的文件的文件名?

来自分类Dev

从文件读取参数并创建文件名

来自分类Dev

UIActivityViewController-保留从URL读取的附件文件的文件名

来自分类Dev

从文件读取的文件名未获得正确的值

来自分类Dev

从命令行读取文件中的文件名