0

コードを編集して、フォルダ ATC (サブディレクトリを含む) 内のすべてのファイルを開こうとしています。

これらのファイルのいずれかに「Index…」というテキストが含まれていないことが判明した場合、その特定のファイルは、ドキュメント「C:\stuff.txt」で見つかったテキストを含むように追加され、変更を加えてファイルを保存します…</p >

私が抱えている問題は、ファイル名にあります。

最初の問題は、TARGET_FILE が開かないことです。2 番目の問題は、私の TARGET_FILE が保存されないことですか?

誰でも助けることができますか?コードに「<<---- ISSUE #1 & '<<---- ISSUE #2」というマークを付けて、問題を指摘しました。

Imports System.IO
Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    'Get folder containing files to ellipherate through...
    Dim TARGET_FILE() As String = IO.Directory.GetFiles("C:\VTS\TREADSTONE LT\ATC", "*", SearchOption.AllDirectories)

    For Each file As String In TARGET_FILE

        Dim sReader As New StreamReader(file)
        Dim content As String = sReader.ReadToEnd()
        sReader.Close()

        If Text.Contains("Index...") Then
            'do nothing
        Else
            Dim text As String = IO.File.ReadAllText(TARGET_FILE) '<<----ISSUE #1
            Dim EXTRA As String = IO.File.ReadAllText("C:\STUFF.TXT")
            Dim index As Integer = text.IndexOf("<Tools>")
            Dim countChars As Integer
            countChars = "<Tools>".Length
            If index >= 0 Then

                ' String is in file, starting at character "<Tools>" insert text "TEST_HELLO"
                text = text.Insert(index + countChars, EXTRA)

                Dim Writer As System.IO.StreamWriter
                Writer = New System.IO.StreamWriter(TARGET_FILE) '<<----ISSUE #2
                Writer.Write(text)
                Writer.Close()

                'Close this program\ form...
                'Me.Close()

            End If
        End If

    Next

    Me.Close()
End Sub

4

1 に答える 1

0
Dim TARGET_FILE() As String 'This represent an array of string

File.ReadAllText

 System.IO.StreamWriter

パラメータとして文字列の配列を受け取りません

TARGETFILE配列コレクションを繰り返し、ReadAllTextすべてのファイルに対して行う必要があります。

 For Each File As String In TARGETFILE
         Dim ReadedText as string = System.IO.File.ReadAllText(File)
         Dim writer As New System.IO.StreamWriter("DestinationPath")
         writer.Write(ReadedText )
         Write.Close()
 Next
于 2013-05-22T09:46:13.790 に答える