2016-04-14 69 views
0

我有了一個登錄功能,但是,當你改變PC還必須更改驅動器中的文件位於如d盤,E盤等測驗......搜索在用戶登錄時的配置文件

目前其設置爲F.有什麼我可以添加,將使它自動搜索每個驅動器的文件?

這裏是我的代碼

if (File.Exists(@"F:\C# Completed quiz\adam new\Mario quiz\bin/PlayerDetails.txt")) 
{ 

    string[] lines = File.ReadAllLines(@"F:\C# Completed quiz\adam new\Mario quiz\bin/PlayerDetails.txt"); 
+3

將文件存儲在一個通常可訪問的位置,比如'%appdata%'(或'Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)'在c# )? – spender

回答

1

我建議你只是把它放在應用程序數據或文件夾,我的文檔:

string filename = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "C# Completed quiz","adam new","Mario quiz","bin","PlayerDetails.txt"); 
//or Environment.SpecialFolder.MyDocuments 

if (File.Exists(filename)) 
{ 
    string[] lines = File.ReadAllLines(filename); 
} 
+2

您需要一點['System.IO.Path.Combine'](https://msdn.microsoft.com/en-us/library/fyy7a5kt%28v=vs.110%29.aspx),而不是拼接字符串。 – spender

+0

好點;編輯。 – smead

0

使用Resource file來存儲您的TXT在應用程序內或只是與您的可執行文件分發。要添加資源文件:

  1. 鼠標右鍵點擊你的項目並選擇屬性
  2. 轉到資源選項卡,並創建新的文件
  3. 點擊添加資源 - >添加現有文件..
  4. 請選擇您的文本文件並點擊打開

的文件現在像串訪問:

var lines = Properties.Resources.PlayerDetails; 

如果該文件是在同一文件夾作爲EXE那麼你就可以訪問它以這樣的方式

var lines = File.ReadAllLines("PlayerDetails.txt"); 

編輯:如果您喜歡使用此方法,請注意以下注釋。

+0

除非應用程序安裝在需要提升寫入權限的位置(例如,'Program Files')。不是一個好主意。 – spender

相關問題