繁体   English   中英

使用system.io读取文件?

[英]Reading files using system.io?

可以帮助解决这个问题。我正在使用system.io,我必须做一些需要移动,分组,重命名文件的东西。

到目前为止,我使用c#在命令行应用程序中工作,我将一些文件从一个目录移动到另一个目录,我现在需要对一些像这样的pdf文件进行分组 - B-12345 1.pdf,B-12345 2.pdf,B-12345 3。 pdf,B-12345 4.pdf。我被告知我不需要将它们物理地组合在一起,只是为了确保每个项目参考(b-1234)我只创建一个工作。

为了给你一些关于在这些文件分组后我正在做什么的背景信息,我需要在作业表sql数据库中创建一个记录。但这是另一天的另一个问题,只是认为id给你一些更多的信息。

主要是我只需要有关如何读取文件目录中的文件和分组文件的信息,这对我非常有益。

为了使问题更清楚,这是任务中的顺序应该在命令行应用程序中完成。

  1. 读取目录中的文件(我已经将它们移到了不确定的位置?)
  2. 按项目分组否(不确定)
  3. 在sql db中创建作业记录
  4. 将文件移动并重命名为正确的位置

提前致谢

我的代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

public class MoveForProcessing
{
    static void Main()
    {
        // move cad jobs to processing directory and delete former folder, use the System.IO.Path class.
        System.IO.Directory.Move(@"C:\Users\Ben\My Documents\Temp\", @"C:\Users\Ben\My Documents\Processing\");
    }
}

您可以先声明有问题的目录的DirectoryInfo类

private System.IO.DirectoryInfo dir = System.IO.DirectoryInfo.Open(@"path");

然后为目录中的每个文件获取一个FileInfo对象数组

private FileInfo[] files = dir.GetFiles();

如果只需要某些文件类型,也可以将通配符字符串放入GetFiles()

private FileInfo[] files = dir.GetFiles("*.pdf");

然后,您可以通过数组递增,为每个FileInfo对象执行任何操作

foreach(FileInfo f in files)
{
   f.Move(); // or whatever you need to do
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM