C#中如何获取文件的相对路径?

C#初学。问题:程序安装在D:\AAA,需要调用的文件在D:\AAA\BBB中,现在需要用户自行设置调用文件的位置并保存在配置文件中。程序现在需要获取调用文件的相对路径,... C#初学。问题:
程序安装在D:\AAA,需要调用的文件在D:\AAA\BBB中,现在需要用户自行设置调用文件的位置并保存在配置文件中。
程序现在需要获取调用文件的相对路径,写在配置文件中,这样用户只要将AAA复制走,到哪儿都能用。例如:
D:\aaa\aa\main.exe,被调用的文件在:D:\aaa\aa\bbb\1.jpg,但在配置文件中需要写:JPG=bbb\1.jpg,前边的都不要。
拿到1.jpg的全路径后,如何能取出这相对的路径?
现在能拿到D:\aaa\aa,也能拿到D:\aaa\aa\bbb\1.jpg,请问如何变成bbb?
展开
 我来答
可以叫我表哥
推荐于2016-06-12 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464977
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
获取当前文件的相对路径
1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
获取模块的完整路径,包括文件名。
2. System.Environment.CurrentDirectory
获取和设置当前目录(该进程从中启动的目录)的完全限定目录。
3. System.IO.Directory.GetCurrentDirectory()
获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C:\Program Files\Adobe\,有时不一定返回什么东东,这是任何应用程序最后一次操作过的目录,比如你用Word打开了E:\doc\my.doc这个文件,此时执行这个方法就返回了E:\doc了。
4. System.AppDomain.CurrentDomain.BaseDirectory
获取程序的基目录。
5. System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
获取和设置包括该应用程序的目录的名称。
6. System.Windows.Forms.Application.StartupPath
获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"\"而已
7. System.Windows.Forms.Application.ExecutablePath
获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。
尘雨洛烟
推荐于2017-12-16 · TA获得超过6202个赞
知道大有可为答主
回答量:3967
采纳率:79%
帮助的人:998万
展开全部
应用程序路:径string programpath=Application.StartupPath;
string relativepath=fullpath.SubString(programpath.Length);
//其中fullpath为全路径,不明白欢迎继续追问
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朱莉莉49
2015-01-15 · TA获得超过164个赞
知道答主
回答量:96
采纳率:0%
帮助的人:91.5万
展开全部
相对路径?既然要读取excel,那肯定要知道它的绝对路径了,不然怎么知道它放在哪了\r\n\r\n除非你把excel放在c#工程里,这样c#环境路径+相对路径,可能就符合你的要求了
追问
这跟excel有什么关系啊???
图片文件是用户设置的,可能放在bbb中,也可能是他自己建的文件夹,但肯定是在主文件夹下边建的。主文件夹的名字也不一定,所以我需要相对路径,不能记录下绝对路径,否则换个环境配置文件就不能用了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式