Измените C: \ Folder \ File на C: \\ Folder \\ file - PullRequest
0 голосов
/ 02 марта 2011

Я возился со следующим кодом.Однако мне нужно изменить имя файла из формата C:\MY FOLDER\MY FILE в формат C:\\MY FOLDER\\MY FILE.Как я могу это сделать?

Public Class Form1
    Private Sub TextBox1_Clicked(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Click
        'OpenFileDialog1.Title = "Please Select a File"
        'OpenFileDialog1.InitialDirectory = "C:temp"

        OpenFileDialog1.ShowDialog()

    End Sub

    Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk

        Dim strm As System.IO.Stream
        strm = OpenFileDialog1.OpenFile()
        TextBox1.Text = OpenFileDialog1.FileName.ToString()
        If Not (strm Is Nothing) Then
            ''insert code to read the file data
            strm.Close()
            'MessageBox.Show("file closed")
        End If

    End Sub

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

        Dim FILEx As String = "C:\FILEPATH.txt"

        If System.IO.File.Exists(FILEx) = True Then
            Dim objWriter As New System.IO.StreamWriter(FILEx, False)
            objWriter.WriteLine(TextBox1.Text)
            objWriter.Close()
        End If
    End Sub
End Class
`code`

Код грубый. Я просто проверяю некоторые вещи.

1 Ответ

0 голосов
/ 02 марта 2011

РЕДАКТИРОВАТЬ (VB, не C #, booh: p)

Если вы пишете явную строку, например "C: \ FILEPATH.txt", вам нужно удвоить \сам.В противном случае VB будет думать, что \ F - специальный символ.Это или предшествует строке с @.

Итак:

"C:\\FILEPATH.txt"

или

@"C:\FILEPATH.txt"

Внутренне VB будет видеть только один \ Так что, если, скажем, вывы получаете путь из текстового поля, вам не нужно удваивать обратную косую черту.

РЕДАКТИРОВАТЬ

Хорошо, так что согласно здесь VBНа самом деле .NET действительно не избежать обратной косой черты.Считаю мой ответ бесполезным.(Хотя, возможно, я обучил немного C-острее ...? (Я знаю, я знаю, я схватываю здесь: p)

...