我要访问一个.txt文件,该文件存储在项目的资源文件夹中,所有导入的图片也存储在该文件中。 我想使用类似的相对路径,因为每个用户都会在自己的PC上的其他位置保护自己的程序,但是与programm文件夹相比,总有资源文件夹在同一位置。
我尝试使用过此命令:age 0 1 2 3 4 5 6 7 8 ... 62 63 64 65 66 67 68 69 70
year ...
1800 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0
1801 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0
1802 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0
1803 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0
1804 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0
.. .. .. .. .. .. .. .. .. ... .. .. .. .. .. .. .. .. ..
1876 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0
1877 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0
1878 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0
1879 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0
1880 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 1
[81 rows x 71 columns]
,但这不起作用。
我收到以下错误消息: System.IO.DirectoryNotFoundException:,它也在那里列出了.txt的相对路径,所以我不明白,为什么它无法读取它。
感谢您的帮助。
答案 0 :(得分:0)
@ChetanRanpariya试图告诉您的是,您的程序是构建的,而不是文件夹Resources
所在的文件夹。因此,您已明确告诉文件Resources\startmessages.txt
在构建过程中进行自我复制,因此将其复制到另一个文件夹中。假设您使用的是Visual Studio,则必须右键单击文件并将Copy To Output Directory
设置为true
。它的相对文件夹路径(Resources\
)将被接管。您可以在bin
文件夹中的某个位置找到构建文件夹,具体取决于配置和框架。 :)
答案 1 :(得分:0)
可执行文件所在的当前路径
Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).FullName
解决方案路径
如果您使用的是Visual Studio,并且需要访问解决方案目录中的文件夹,则可以使用.Parent
方法,
Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName
使用Path.Combine
找到资源文件夹的位置后,使用Path.Combine获取读取文件/内容等的位置
Path.Combine(Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName, "Resources\\startMessages.txt")