我有一个有登录功能的测验,但当你更换电脑时,你还必须更改文件所在的驱动器,例如D驱动器、e驱动器等。
目前它设置为F.有什么我可以添加的东西可以让它自动搜索每个驱动器中的文件吗?
这是我的代码
if (File.Exists(@"F:C# Completed quizadam newMario quizbin/PlayerDetails.txt"))
{
string[] lines = File.ReadAllLines(@"F:C# Completed quizadam newMario quizbin/PlayerDetails.txt");
我建议你把它放在AppData或MyDocuments文件夹中:
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);
}
您需要枚举系统上的硬盘驱动器,并一次检查一个
https://msdn.microsoft.com/en-us/library/system.io.directory.getlogicaldrives(v=vs.110).aspx
显示如何枚举系统上的硬盘驱动器
这个答案使用了看起来更好的方式
如何确定给定的驱动器号是否为本地/映射/usb驱动器?
一旦您知道驱动器是已安装的驱动器,就应该查看<drive>:/<your path>
使用资源文件将txt存储在应用程序中,或者将其与可执行文件一起分发。添加资源文件:
- 右键单击您的项目并选择属性
- 转到资源选项卡并创建新文件
- 单击"添加资源"->"添加现有文件…"
- 选择您的文本文件,然后单击打开
现在可以像字符串一样访问该文件:
var lines = Properties.Resources.PlayerDetails;
如果该文件与exe在同一文件夹中,则您可以通过以下方式访问它:
var lines = File.ReadAllLines("PlayerDetails.txt");
编辑:如果您喜欢使用此方法,请注意下面的注释。