2011-03-02 1 views
-1

Я прокручиваю следующий код. Однако мне нужно, чтобы имя файла было реструктурировано из формата C:\MY FOLDER\MY FILE в формат C:\\MY FOLDER\\MY FILE. Как я могу это сделать?Изменить C: Folder File to C: \ Folder \ 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` 

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

+0

В чем вопрос связан с кодом? Почему вы удваиваете \ s: Что вы пытаетесь сделать? – dbasnett

ответ

0

EDIT (VB, а не C#, прогонять: р)

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

Итак:

"C:\\FILEPATH.txt" 

или

@"C:\FILEPATH.txt" 

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

EDIT

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

+0

Ummm .... Этот код C# выглядит подозрительно, как VB! –

+0

IIRC, это неверно. Я помню, как вытягивал мои волосы в течение нескольких часов в VB.NET, идущем '' blah blah blah \ n "", только для того, чтобы понять, что он не расширяет обратные слэши. Может ли кто-нибудь быстро это проверить? (Не нужно иметь хорошую визуальную студию для установки ATM). –