2016-04-14 53 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

相关问题