当前位置: 代码迷 >> VB Dotnet >> 如何判断txt文件的末尾是不是回车换行符
  详细解决方案

如何判断txt文件的末尾是不是回车换行符

热度:72   发布时间:2016-04-25 02:16:17.0
怎么判断txt文件的末尾是不是回车换行符
如果不是换行,则加上换行。
关键是不知道怎么得到最后一个字符,用StreamReader的ReadLine(),没法判断
比如下面这种情况,就不用加换行符了:


------解决方案--------------------
  Dim s As String = sr.ReadToEnd()
        If s.Substring(s.Length - 1, 1) <> Chr(10) Then
            s = s + Chr(10)
        End If
        sr.Close()
------解决方案--------------------
Dim s As String = File.ReadAllText("c:\1.txt")
If Right(s, 1) = VbCr Or Right(s, 1) = VbLf Then
    ...
End If
------解决方案--------------------

string s=ReadLine();
if(s[s.Length-1]!='\r')
{
s+="\r";
}

------解决方案--------------------
Imports System.IO

Module Module1

    Sub Main()
        Dim sr As New StreamReader("C:\temp\1.txt")
        Dim sLine As String = String.Empty
        Dim i As Integer = 0
        While Not sr.EndOfStream
            i += 1
            sLine = sr.ReadLine
            Debug.Print(i & ": """ & sLine & """")
        End While
        Debug.Print("Last = """ & sLine & """")
        If sLine.Length = 0 Then
            Debug.Print("HAS blank line!")
        Else
            Debug.Print("NO blank line!")
        End If
    End Sub

End Module

实测了一下,14后面是否有空行,都算 EndOfStream!
你怎么控制 ReadLine 的?

所以就是每次 ReadLine 都加换行。
  相关解决方案