我正在尝试从现有文件创建一个新的文本文件。现在,我可以显示整个文本文件(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
循环内(假设您的文件使用的是列的分隔符):
您可以逐行处理文件,不需要流。
以下工具应完成大部分工作
string.Split
string.Substring
-第二个参数是长度,所以line.Substring(40,15)
是发票编号。祝你好运!