C#-将“.txt”文件保存到项目根目录我写了一些代码,要求我保存文本文件。但是,我需要将它保存到我的项目根目录,这样任何人都可以访问它,而不仅仅是我。这是有问题的方法:privatevoidsaveFileToolStripMenuItem_Click(objectsender,EventArgse){try{stringfileName=Microsoft.VisualBasic.Interaction.InputBox("请输入保存文件名。","SaveGame");if(fileName.Equals("")){MessageBox.Show("请输入有效的保存文件名。");}else{fileName=String.Concat(fileName,".gls");MessageBox.Show("保存到"+fileName);System.IO.File.WriteAllText(saveScene.ToString(),AppDomain.CurrentDomain.BaseDirectory+@""+fileName);}}catch(Exceptionf){System.Diagnostics.Debug.Write(f);}}许多人告诉我,使用AppDomain.CurrentDomain.BaseDirectory将包含存储应用程序的动态位置。但是,当我这样做时,没有任何反应,也没有创建文件。有没有其他方法可以做到这一点,或者我只是完全错误地使用它?File.WriteAllText需要两个参数。第一个是文件名,第二个是写什么File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory+@""+fileName,saveScene.ToString());但请记住,如果运行应用程序的用户没有访问该文件夹的权限,则写入当前文件夹可能会出现问题。(在最新的操作系统中编写程序文件非常有限)。如果可以将此位置更改为Environment.SpecialFolder枚举中定义的位置,我还建议在需要构建路径时使用System.IO.Path类,而不是在字符串连接中使用非常“特定于操作系统”的常量“”不同的路径。在你的例子中我会写stringdestPath=Path.Combine(AppDomain.CurrentDomain.BaseDirectory,fileName);File.WriteAllText(destPath,saveScene.ToString());不需要额外的+@""只是:AppDomain。CurrentDomain.BaseDirectory+fileName并替换参数saveScene.ToString()和AppDomain.CurrentDomain.BaseDirectory+fileName你的代码应该是:privatevoidsaveFileToolStripMenuItem_Click(objectsender,EventArgse){"请输入保存文件名。","保存游戏");if(fileName.Equals("")){MessageBox.Show("请输入有效的保存文件名。");}else{fileName=String.Concat(fileName,".gls");MessageBox.Show("保存到"+fileName);System.IO.File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory+fileName,saveScene.ToString());}}catch(异常f){System.Diagnostics.Debug.Write(f);你可以在这里阅读File.WriteAllText:Parameters以上是C#学习教程:C#-Save".txt"filetoprojectrootdirectory分享所有内容,如果对你有用需要进一步了解C#学习教程,希望大家多多关注——path类型:System.String要写入的文件。contents类型:System.String要写入文件的字符串。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处:
