C# 转换unix文件

C# 转换unix文件,c#,C#,我收到一些带有Unix换行符的大文本文件(我想)。我通常在我的文本编辑器中打开小文件,并将它们保存为PC文本文件,但这些文件对于这种方法来说太大了。所以我想我写了一个小小的C#程序 我通常会这样使用: using (TextReader tr = File.OpenText(@"D:\bla.txt")) { string line; while ((line = tr.ReadLine()) != null

我收到一些带有Unix换行符的大文本文件(我想)。我通常在我的文本编辑器中打开小文件,并将它们保存为PC文本文件,但这些文件对于这种方法来说太大了。所以我想我写了一个小小的C#程序

我通常会这样使用:

using (TextReader tr = File.OpenText(@"D:\bla.txt"))
            {
                string line;
                while ((line = tr.ReadLine()) != null)
                {
                    string[] items = line.Split('|');
但Unix线路中断会导致问题。如果有任何建议,我将不胜感激。谢谢


Christian

只需使用。

只需使用。

Unix换行符不应给
文本阅读器造成任何问题。ReadLine
-它专门设计用于处理任何换行符。发件人:

行定义为一系列字符,后跟回车符(0x000d)、换行符(0x000a)、换行符(后跟换行符)、Environment.NewLine或流结束标记。返回的字符串不包含终止回车和/或换行符。如果已到达输入流的结尾,则返回值为null

此灵活的定义包括正常的Unix换行符“\n”


我怀疑你的问题在别处。实际上,您还没有说您认为哪些问题是由Unix断线引起的。目前出现了什么问题?

Unix换行不应该给
文本阅读器造成任何问题。ReadLine
-它是专门为处理任何换行而设计的。发件人:

行定义为一系列字符,后跟回车符(0x000d)、换行符(0x000a)、换行符(后跟换行符)、Environment.NewLine或流结束标记。返回的字符串不包含终止回车和/或换行符。如果已到达输入流的结尾,则返回值为null

此灵活的定义包括正常的Unix换行符“\n”


我怀疑你的问题在别处。实际上,您还没有说您认为哪些问题是由Unix断线引起的。现在出了什么问题?

您能在Visual Studio中打开文件吗?如果是这样的话,它应该弹出“转换行尾”对话框。这个问题可能与unix换行无关。那么,你到底遇到了什么问题?我可以在文本编辑器中打开文件,比如textpad。当我试图保存它们时,一切都崩溃了(VS也有问题)。我想这与文件的大小有关800MB-18GB你能在Visual Studio中打开这些文件吗?如果是这样的话,它应该弹出“转换行尾”对话框。这个问题可能与unix换行无关。那么,你到底遇到了什么问题?我可以在文本编辑器中打开文件,比如textpad。当我试图保存它们时,一切都崩溃了(VS也有问题)。我想这与800MB-18GB的文件大小有关。最终目的是大容量插入数据-“\n”在大容量插入过程中会导致问题。我的C代码也失败了…@csetzkorn:但是如果你使用的是TextReader.ReadLine,你就看不到开头的
\n
。你确定这不是编码问题吗?当你说你的C#代码失败时,你能说得更具体一点吗?最终目的是批量插入数据-“\n”在批量插入过程中会导致问题。我的C代码也失败了…@csetzkorn:但是如果你使用的是TextReader.ReadLine,你就看不到开头的
\n
。你确定这不是编码问题吗?当你说你的C代码失败时,你能更具体一点吗?