[英]Creating a new txt file from an already existing one
我正在尝试从已经存在的文本文件中创建一个新的文本文件。 现在,我可以显示整个文本文件(test.txt)。 该文件显示了大量信息,但我担心显示以下内容,这恰好是 txt 文件的前 6 列。 他们来了:
这就是我设置 Program.cs 文件的方式:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace TextFileDataAccessDemo
{
class Program
{
static void Main(string[] args)
{
string filePath = @"C:\MyData\test.txt";
List<string> lines = File.ReadAllLines(filePath).ToList();
//This loops over every line in the list of strings.
foreach (string line in lines)
{
Console.WriteLine(line);
}
File.WriteAllLines(filePath, lines);
Console.ReadLine();
}
}
}
如何使用 streamreader 和 streamwriter 解析整个文件,并创建一个新文件来“吐出”我想要的数据,这就是我上面列出的内容。 我希望新数据文件以发票编号开头,该编号从 40 个字符开始,长度为 15 个字符 (40,15)。 非常感谢任何帮助或线索。 我被困了几个小时,不知道从哪里开始。
首先,没有像带有列的文本文件这样的东西。 文本文件只包含字符,不包含结构信息。
所以在你的文件中,可能有一些字符用作分隔符,最常用的是分号;
您完成了简单的部分:打开文件,读取所有行,然后写入新文件。
剩下的将在您的foreach
循环内(假设您的文件使用列分隔符):
您可以逐行处理文件,并且不需要流。
它可能很简单
var newLines = lines.Select( l => l.Substring(40));
如果您需要处理输入文件(更改订单等),那么以下工具应该可以完成大部分工作:
string.Split
string.Substring
- 第二个参数是长度,所以line.Substring(40,15)
是发票号。祝你好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.