2016-05-30 87 views
-1

的位置C#保存文件我想保存到這樣的文件:在您的應用程序

string path = AppDomain.CurrentDomain.BaseDirectory; 
    fs = new System.IO.FileStream(path, System.IO.FileMode.Append, System.IO.FileAccess.Write); 

但雖然目錄中我得到DirectoryNotFoundException。

這裏是方法

public static void WriteToFile(string s) 
{ 
    string path = AppDomain.CurrentDomain.BaseDirectory; 
    fs = new System.IO.FileStream(path, System.IO.FileMode.Append, System.IO.FileAccess.Write); 
    sw = new System.IO.StreamWriter(fs); 
    sw.WriteLine(s); 
    sw.Flush(); 
    sw.Close(); 
    fs.Close(); 
} 

我不知道爲什麼會這樣。由於

+0

有非常好的機會,'path'指向目錄(大約100%)。你能否澄清爲什麼你期望文件創建成功的路徑到目錄? –

回答

2

你需要指定一個文件名,則目錄獨自不足以創建一個文件:

public static void WriteToFile(string s, string fileName) 
{ 
    string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, fileName); 
    fs = new System.IO.FileStream(path, System.IO.FileMode.Append, System.IO.FileAccess.Write); 
    sw = new System.IO.StreamWriter(fs); 
    sw.WriteLine(s); 
    sw.Flush(); 
    sw.Close(); 
    fs.Close(); 
} 

用法:

WriteToFile("Some Text To Write", "SampleFileName.txt"); 

這裏是文檔作者:

public FileStream(string path, FileMode mode, FileAccess access); 

參數: path:當前FileStream對象封裝的文件的相對或絕對路徑。

2

你的」路徑是一個目錄,但 System.IO.FileStream.FileStream(字符串路徑的FileMode模式,FileAccess的訪問)需要一個文件路徑,所以我修改類似下面的代碼:

public static void WriteToFile(string s) 
    { 
     string path = AppDomain.CurrentDomain.BaseDirectory + "a.txt"; 
     var fs = new System.IO.FileStream(path, System.IO.FileMode.Append, System.IO.FileAccess.Write); 
     var sw = new System.IO.StreamWriter(fs); 
     sw.WriteLine(s); 
     sw.Flush(); 
     sw.Close(); 
     fs.Close(); 
     Console.WriteLine(path); 
     Console.ReadKey(); 
    } 

輸出: d:\用戶\ zwguo \文件\的Visual Studio 2013 \項目\ ConsoleApplication15 \康壽 eApplication15 \ BIN \調試\ A.TXT

+1

你應該總是用'Path.Combine'連接路徑部分。 –

+0

是的,謝謝。 – windc

相關問題