c#从许多文件中读取,并将其中的一部分写入新文件
我试着一个接一个地读取许多文件,并将其中的一部分写入新文件。 我是c#的新手,谁能给我一些想法,怎么做 下面是代码,但以这种方式只记录一个主文件中的所有文件。我想从所有文件中获取一些关于子字符串的信息,并将这些信息写入主文件c#从许多文件中读取,并将其中的一部分写入新文件,c#,C#,我试着一个接一个地读取许多文件,并将其中的一部分写入新文件。 我是c#的新手,谁能给我一些想法,怎么做 下面是代码,但以这种方式只记录一个主文件中的所有文件。我想从所有文件中获取一些关于子字符串的信息,并将这些信息写入主文件 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; name
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\Users\Name\Desktop\Files\";
string[] files = Directory.GetFiles(path, "*", SearchOption.AllDirectories);
using (var output = File.Create(path + "output.txt"))
{
foreach (var file in files)
{
using (var data = File.OpenRead(file))
{
data.CopyTo(output);
}
}
}
}
}
}
例如,如果要使用
子字符串
,可以这样做:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\Users\Name\Desktop\Files\";
string[] files = Directory.GetFiles(path, "*", SearchOption.AllDirectories);
//Reads the first lines
var firstLines = files.Select(f => File.ReadLines(f).First());
//Cuts from the fifth character and then five characters long
//Writes the result to the file output.txt
File.WriteAllLines(path + "\\output.txt", firstLines.Select(l => l.Substring(5, 5)));
}
}
}
但是您也可以使用其他字符串操作方法,如
Replace
如果您想使用子字符串,您可以这样做:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\Users\Name\Desktop\Files\";
string[] files = Directory.GetFiles(path, "*", SearchOption.AllDirectories);
//Reads the first lines
var firstLines = files.Select(f => File.ReadLines(f).First());
//Cuts from the fifth character and then five characters long
//Writes the result to the file output.txt
File.WriteAllLines(path + "\\output.txt", firstLines.Select(l => l.Substring(5, 5)));
}
}
}
但您也可以使用其他字符串操作方法,如Replace
查看System.IO.file请提供详细信息:哪些文件(二进制,文本),哪些部分(每个文件10字节?每个文本的顶行)?举例将非常有用。即使代码不完整,也不要忘记显示代码,引发异常等。请使用StreamReader和StreamWriter。您将不得不解析读取的文件,并且取决于文件的格式取决于解析是如何完成的。没有一种方法可以很好地处理所有不同类型的文件。欢迎使用堆栈溢出。目前这个问题相当模糊——我们不知道你已经尝试了什么,或者你被困在哪里。请阅读并编辑您的问题,使其更加具体。您尝试了什么?有很多东西可以读写目录和文件。自己动手,然后带着可能有问题的代码来到这里。查看System.IO.FilePlease,提供详细信息:哪些文件(二进制,文本),哪些部分(每个文件的10字节?每个文本的顶行)?举例将非常有用。即使代码不完整,也不要忘记显示代码,引发异常等。请使用StreamReader和StreamWriter。您将不得不解析读取的文件,并且取决于文件的格式取决于解析是如何完成的。没有一种方法可以很好地处理所有不同类型的文件。欢迎使用堆栈溢出。目前这个问题相当模糊——我们不知道你已经尝试了什么,或者你被困在哪里。请阅读并编辑您的问题,使其更加具体。您尝试了什么?有很多东西可以读写目录和文件。自己做一些事情,然后带着可能有问题的代码来到这里。