Эквивалент «Открытое имя файла для вывода как № 1» VB6 в .NET - PullRequest
4 голосов
/ 12 марта 2012

Еще один вопрос миграции,

У меня есть еще один кусок кода VB6, который, кажется, нуждается в некотором обходном пути для .NET.Для сокращенной версии это все, что он делает:

Open sFileName For Output As #1
Print #1,
Print #1, "Facility:" & vbTab & Replace(Frame1.Caption, ",", " ")
Print #1, 
Print #1, "Address:" & vbTab & Replace(Me.lblAddr1.Caption, ",", " ")
Print #1, "City/State:" & vbTab & Replace(Me.lblAddr2.Caption, ",", " ")

И так далее, и так далее.Вы можете видеть, что он продолжает повторяться, чтобы создавать новые линии.Вопрос в том, как мне реализовать то же самое в .NET?Спасибо за помощь, ребята.

Логан

1 Ответ

7 голосов
/ 12 марта 2012
 Imports System
 Imports System.IO
 Imports System.Text
 Imports System.Collections.Generic

 Class Program

    Public Shared Sub Main(ByVal args As String())

    Dim mydocpath As String = _
    Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
    Dim sb As New StringBuilder()

    For Each txtName As String _
        In Directory.EnumerateFiles(mydocpath, "*.txt")
        Using sr As New StreamReader(txtName)
            sb.AppendLine(txtName.ToString())
            sb.AppendLine("= = = = = =")
            sb.Append(sr.ReadToEnd())
            sb.AppendLine()
            sb.AppendLine()

        End Using
    Next

    Using outfile As New StreamWriter(mydocpath & "\AllTxtFiles.txt", Encoding.Default)
        outfile.Write(sb.ToString())
    End Using
    End Sub
 End Class

http://msdn.microsoft.com/en-us/library/6ka1wd3w.aspx#Y0

...