2012-07-29 18 views
1

下面是我的教練和我的朋友Win 7的給它工作得很好。我已經試過我的工作筆記本電腦和我的個人桌面......不斷挖掘出以下錯誤StreamReader的問題找到文件

我不明白......我儘量更改權限的目錄給大家只是踢去......它適用於他的複製粘貼,但不是我的。

「找不到路徑的一部分 'C:\用戶\ Wookie \我的文檔\'。」

using System; 
using System.IO; 

class Program 
{ 
static void Main() 
{ 

// This line of code gets the path to the My Documents Folder 
string environment = System.Environment.GetFolderPath 
(System.Environment.SpecialFolder.Personal) + "\\"; 

Console.WriteLine("Enter a file name in My Documents: "); 
string input = Console.ReadLine(); 

// concatenate the path to the file name 
string path = environment + input; 

// now we can use the full path to get the document 
StreamReader myFile = new StreamReader(path); 
int n = int.Parse(myFile.ReadLine()); 
Console.WriteLine("read {0}", n); 

Console.ReadLine(); 
}//End Main() 
}//End class Program 
+0

你說它可以在你的朋友Windows 7上正常工作,你試圖在哪個操作系統上運行它。 – 2012-07-29 22:40:31

+0

添加一個'Console.Writeline(路徑)'並仔細檢查它是否存在。 – 2012-07-29 22:42:32

+0

運行Win 7以及 – Dan 2012-07-29 22:43:04

回答

3

嘗試的文件是否確實但從程序的觀點存在。當然,將yourfile.txt替換爲您正在查找的文件的文件名。

string path = Path.Combine(System.Environment.GetFolderPath 
    (System.Environment.SpecialFolder.Personal), "yourfile.txt"); 
Console.WriteLine(File.Exists(path)); 

如果沒有,請在文件系統資源管理器中嘗試。否則,你確定你輸入的文件名是否正確?嘗試暫時對其進行硬編碼。上面的代碼還顯示瞭如何組合路徑(請注意缺少自動插入的斜槓(\))以及如何檢查文件(或使用Directory.Exists()的目錄)是否存在。這可能有助於找出問題所在。

+0

C:\ Users \ Wookie \ Documents \和文件是test.txt – Dan 2012-07-29 22:45:11

+0

有沒有一種特殊的方式來訪問用戶下我的文檔。我去了屬性,並複製了寫在那裏的確切目錄,它仍然表明它不存在... – Dan 2012-07-30 18:56:24

2

僅僅爲了良好的編碼習慣,使用Path.Combine來連接路徑。 而Path.DirectorySeparatorChar代替「\」作爲一個很好的做法。

例子:

string path = Path.Combine(environment, input);