2011-06-06 26 views
1

我想使用streamreader和writer類將文件從一個目錄傳輸到另一個目錄。現在我想添加一個狀態欄來顯示狀態欄上的文件名以及剩餘的百分比。當文件被移動到新目錄時它將達到100。有什麼建議嗎?如何在VB.Net win表單應用程序中使用進度條

Dim ioFile As New System.IO.StreamReader("C:\sample.csv") 
    Dim ioLine As String 
    Dim ioLines As String 
    ioLine = ioFile.ReadLine 
ioLines = ioLine 
While Not ioLine = "" 
    ioLine = ioFile.ReadLine 
    ioLines = ioLines & vbCrLf & ioLine 
    End While 
Dim ioWriter As New System.IO.StreamWriter("C:\new.csv") 
ioWriter.WriteLine(ioLines) 
ioFile.Close() 
ioWriter.Close() 
+1

你應該複製字節,而不是字符串。而你應該在閱讀時寫下,而不是建立一個巨大的緩衝區。 – SLaks 2011-06-06 16:36:13

+0

哇!一小時內轉發? – 2011-06-06 17:51:45

+0

請不要重新發布相同的問題。耐心等待,好事將會到來。謝謝。 – Kev 2011-06-06 20:47:41

回答

1

賽義夫卡恩是正確的,有能力,如果你只是複製一個文件,然後只是複製一個文件。但要回答你的問題,這裏有一個進度條:

Dim tmpLines() as String = File.ReadAllLines("c:\sample.csv") 
ProgressBar1.Maximum = tmpLines.Count - 1 
ProgressBar1.Value = 0 
For tmpRun As Integer = 0 To tmpLines.Count - 1 
    ProgressBar1.Value += 1 

    'Copy Stuff 
Next 
1

試試這個

' Copy the file to a new folder, overwriting existing file. 
    My.Computer.FileSystem.CopyFile(_ 
    "C:\UserFiles\TestFiles\testFile.txt", _ 
    "C:\UserFiles\TestFiles2\testFile.txt", _ 
    FileIO.UIOption.AllDialogs, _ 
    FileIO.UICancelOption.DoNothing) 

My.Computer.FileSystem.CopyFile 方法可以複製文件。它 參數提供了 覆蓋現有文件,重命名 文件,顯示 操作的進度,並允許用戶 取消操作

+0

我需要添加一個狀態欄控件來顯示進度。我能以這種方式得到任何建議嗎? – Ram 2011-06-06 17:24:46

+0

我非常抱歉。我有點匆忙,錯誤地問。我需要添加進度條而不是狀態欄。如果有人知道請幫我 – Ram 2011-06-06 17:37:50

+0

滾動到這個頁面的底部http://msdn.microsoft.com/en-us/library/system.windows.forms.progressbar.aspx希望有所幫助。 – 2011-06-06 17:46:23

相關問題