获取程序工作路径的方法
来源:互联网 发布:江西省工商局网络登记 编辑:程序博客网 时间:2024/05/17 02:52
获取程序工作路径的方法
(作者:段炼 2000年10月08日 10:32)
我们知道,应用程序完成诸如文件读写这样的功能时通常需要先取得应用程序的当前工作路径,而不同用户系统中程序安装路径往往各异。因此,获取程序工作路径的方法在实际编程中是很有用的,不同的编程语言对此提供了不同的方法。
Visual Basic(VB)
VB中通过App关键字来实现的对程序全局对象的访问,App对象的Path属性直接指出了应用程序的工作路径。
例如,下面的代码实现在程序运行中PictureBox控件动态加载位于工作目录的image子目录下的图像文件picture1.gif :
FilePosition = App.Path & "/image/picture1.gif"
Picture1.Picture = LoadPicture(FilePosition)
Visual C++ (VC)
MFC似乎并没有直接提供取得应用程序工作路径的方法,但在VC中可以简单使用C语言中的getcwd函数(在<direct.h>中说明)来取工作路径。
例如:
char buffer[_MAX_PATH];
if(_getcwd(buffer,_MAX_PATH)==NULL)
cout<< "_getcwd error"<<"/n";
else
cout<<buffer<<"/n";
输出为工作路径:
E:/PathInfo/Debug
Delphi
在Delphi中,调用函数ParamStr(0)可以取得可执行文件的完整路径信息(工作路径加可执行文件名),再调用ExtractFileDir或ExtractFilePath函数即可提取出应用程序工作目录或路径。例如:
label1.caption:=ExtractFileDir(ParamStr(0));
label2.caption:=ExtractFilePath(ParamStr(0));
其显示结果分别为:
E:/PathInfo
E:/PathInfo/
C++Builder(BCB)
C++Builder完全兼容ANSI C、C++,因而同VC一样,我们也可以调用C语言中的getcwd函数来取工作路径。此外,BCB语言还提供了如ParamStr()、ExtractFilePath等与Delphi一致的函数,我们只需将Delphi中的"."改为BCB中的"->"即可同样使用。例如,在Label1中显示工作路径:
Label1->Caption=ExtractFilePath(ParamStr(0));
需注意的只是BCB区别大小写而Delphi不区别大小写。
Java (JDK、VJ++、JBuilder等)
在跨平台语言Java中,有关Application的全局信息放置在一个Properties(Hashtable类的一个子类)对象中,键"user.dir"所对应的值即工作路径。通过System.getProperty("user.dir")即可取得Application工作路径字符串。
例如:
public class Class1
{
public static void main (String[] args)
{
System.out.println(System.getProperty("user.dir") );
}
}
控制台输出:
E:/PathInfo
(作者:段炼 2000年10月08日 10:32)
我们知道,应用程序完成诸如文件读写这样的功能时通常需要先取得应用程序的当前工作路径,而不同用户系统中程序安装路径往往各异。因此,获取程序工作路径的方法在实际编程中是很有用的,不同的编程语言对此提供了不同的方法。
Visual Basic(VB)
VB中通过App关键字来实现的对程序全局对象的访问,App对象的Path属性直接指出了应用程序的工作路径。
例如,下面的代码实现在程序运行中PictureBox控件动态加载位于工作目录的image子目录下的图像文件picture1.gif :
FilePosition = App.Path & "/image/picture1.gif"
Picture1.Picture = LoadPicture(FilePosition)
Visual C++ (VC)
MFC似乎并没有直接提供取得应用程序工作路径的方法,但在VC中可以简单使用C语言中的getcwd函数(在<direct.h>中说明)来取工作路径。
例如:
char buffer[_MAX_PATH];
if(_getcwd(buffer,_MAX_PATH)==NULL)
cout<< "_getcwd error"<<"/n";
else
cout<<buffer<<"/n";
输出为工作路径:
E:/PathInfo/Debug
Delphi
在Delphi中,调用函数ParamStr(0)可以取得可执行文件的完整路径信息(工作路径加可执行文件名),再调用ExtractFileDir或ExtractFilePath函数即可提取出应用程序工作目录或路径。例如:
label1.caption:=ExtractFileDir(ParamStr(0));
label2.caption:=ExtractFilePath(ParamStr(0));
其显示结果分别为:
E:/PathInfo
E:/PathInfo/
C++Builder(BCB)
C++Builder完全兼容ANSI C、C++,因而同VC一样,我们也可以调用C语言中的getcwd函数来取工作路径。此外,BCB语言还提供了如ParamStr()、ExtractFilePath等与Delphi一致的函数,我们只需将Delphi中的"."改为BCB中的"->"即可同样使用。例如,在Label1中显示工作路径:
Label1->Caption=ExtractFilePath(ParamStr(0));
需注意的只是BCB区别大小写而Delphi不区别大小写。
Java (JDK、VJ++、JBuilder等)
在跨平台语言Java中,有关Application的全局信息放置在一个Properties(Hashtable类的一个子类)对象中,键"user.dir"所对应的值即工作路径。通过System.getProperty("user.dir")即可取得Application工作路径字符串。
例如:
public class Class1
{
public static void main (String[] args)
{
System.out.println(System.getProperty("user.dir") );
}
}
控制台输出:
E:/PathInfo
- 获取程序工作路径的方法
- vc获取程序的工作路径的方法
- 获取程序路径的方法
- C#获取程序当前路径的方法
- C#获取项目程序路径的方法
- C#获取项目程序路径的方法
- C#获取项目程序路径的方法
- C#获取项目程序路径的方法
- C# 获取程序路径的方法集锦
- C#获取项目程序路径的方法
- C#获取项目程序路径的方法
- C# 获取程序路径的方法集锦
- C#获取项目程序路径的方法
- C#获取程序当前路径的方法
- C#获取程序路径的方法
- C#获取项目程序路径的方法
- C#获取项目程序路径的方法
- C#获取项目程序路径的方法
- 数据加密与解密
- sax
- DC扫盲,你还有多少不懂?
- 请问csdn的兄弟姐妹们啊,怎么在blog中添加/上传本地图片,苦闷中
- JMF机器人视频发现
- 获取程序工作路径的方法
- bpl 使用之我见
- 正则表达式在python中的应用
- Ajax Discuz
- 数据库输出HTML格式报表的测试
- 谈谈从Windows转向UNIX的一些困惑[ChinaUnix转的,受益匪浅]
- 花了近两个月的时间设计一BLOG系统,准备开放源码,望大家批评指教
- JAVA编程规范
- XML+XSLT+Servlet编程示例 --------陈开源(albertchen79@126.com)