2016-04-29 38 views
0

我創建一個C#程序輸出從可移動驅動器文件夾和文件的列表,如USB記憶棒或光盤到一個文本文件。流寫入沒有創建文本文檔

我有一個組合框(cbo1),其中包含驅動器,用於創建文本文件的啓動按鈕以及刷新並顯示可用驅動器的刷新按鈕(btnRefresh)。

我目前工作的啓動按鈕,並使用StreamWriter,但由於某種原因(我不明白爲什麼),它不工作。

任何想法的?如果您需要任何其他信息,請讓我知道...

private void enumerateFiles() 
{ 
    using (StreamWriter writer = new StreamWriter(
     @"C:\\Users\\r.samways\\Desktop\\test.txt")) 
    { 
     string selValue = Cbo1.SelectedValue.ToString(); 

     var _files = System.IO.Directory.EnumerateFiles(
      selValue, 
      "*.*", 
      SearchOption.AllDirectories); 

     foreach (string file in _files) 
     { 
      var fileinfo = new FileInfo(file); 
      var _fileLength = fileinfo.Length; 
      var _fileName = fileinfo.Name; 
      var _fileFullname = fileinfo.FullName; 
      writer.WriteLine(_fileFullname); 
      {writer.Flush();} 
     } 
+1

你調試呢?是否有任何文件枚舉(也許有些事情'selValue'錯誤)? –

+0

我還沒有嘗試調試不,我不知道,仍然在努力解決... – DatCrazyGuy01

+0

所以請開始調試它。在問問題之前,你應該自己花些功夫找出問題。 –

回答

-1

如果您在路徑起點使用@,則不需要轉義反斜槓。試試這個作爲你的路徑

@ 「C:\用戶\ r.samways \桌面\ test.txt的」

+0

雖然你說的正確,如果OP使用'@'不需要轉義,那不能解決問題。 「Directory.EnumerateFiles」簡單地忽略雙後斜槓。 –

+0

井這是我爲按鈕點擊方法: – DatCrazyGuy01

+0

私人無效button_Click(對象發件人,EventArgs的) { VAR _drive =(字符串)Cbo1.SelectedItem; //這包含了我們正在尋找的驅動器(C:\爲例) VAR _files = System.IO.Directory.EnumerateFiles(_drive, 「*。*」,SearchOption.AllDirectories); } – DatCrazyGuy01

-1

嘗試:

StreamWriter writer = new StreamWriter(@"C:\\Users\\r.samways\\Desktop\\test.txt",false) 

也不要忘了關閉的StreamWriter完成時。

writer.Close(); 
+1

歡迎使用_StackOverflow_,在此之前,您可能需要閱讀[如何發佈答案](http://stackoverflow.com/help/how-to-answer)。給出一些上下文來解釋您爲什麼發佈該代碼,它做了什麼以及它如何解決手頭的問題。同時考慮花些時間來設計你的答案,以便讀者輕鬆理解。 – Nacho