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? 展开
程序安装在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? 展开
3个回答
推荐于2016-06-12 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464984
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一样。
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一样。
展开全部
应用程序路:径string programpath=Application.StartupPath;
string relativepath=fullpath.SubString(programpath.Length);
//其中fullpath为全路径,不明白欢迎继续追问
string relativepath=fullpath.SubString(programpath.Length);
//其中fullpath为全路径,不明白欢迎继续追问
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
相对路径?既然要读取excel,那肯定要知道它的绝对路径了,不然怎么知道它放在哪了\r\n\r\n除非你把excel放在c#工程里,这样c#环境路径+相对路径,可能就符合你的要求了
追问
这跟excel有什么关系啊???
图片文件是用户设置的,可能放在bbb中,也可能是他自己建的文件夹,但肯定是在主文件夹下边建的。主文件夹的名字也不一定,所以我需要相对路径,不能记录下绝对路径,否则换个环境配置文件就不能用了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询