Java获取程序运行的当前工作目录

Java获取程序运行的当前工作目录,第1张

使用下面这个PathUtil的getProgramPath()就可以获得当前程序运行的目录。

import javanetURL;

import javanetURLDecoder;

class PathUtil {

/

Get the env of windir, such as "C:\WINDOWS"

@return the env of windir value

/

public static String getWindir() {

return Systemgetenv("windir");

}

/

Get file separator, such as "/" on unix

@return the separator of file

/

public static String getFileSeparator() {

return SystemgetProperty("fileseparator");

}

/

Get line separator, such as "\n" on unix

@return the separator of line

/

public static String getLineSeparator() {

return SystemgetProperty("lineseparator");

}

/

Get programPath

@return programPath

/

public static String getProgramPath() {

Class<PathUtil> cls = PathUtilclass;

ClassLoader loader = clsgetClassLoader();

//

// Get the full name of the class

//

String clsName = clsgetName() + "class";

//

// Get the package that include the class

//

Package pack = clsgetPackage();

String path = "";

//

// Transform package name to path

//

if (pack != null) {

String packName = packgetName();

//

// Get the class's file name

//

clsName = clsNamesubstring(packNamelength() + 1);

//

// If package is simple transform package name to path directly,

// else transform package name to path by package name's

// constituent

//

path = packName;

if (pathindexOf("") > 0) {

path = pathreplace("", "/");

}

path = path + "/";

}

URL url = loadergetResource(path + clsName);

//

// Get path information form the instance of URL

//

String retPath = urlgetPath();

//

// Delete protocol name "file:" form path information

//

try {

int pos = retPathindexOf("file:");

if (pos > -1) {

retPath = retPathsubstring(pos + 5);

}

//

// Delete the information of class file from the information of

// path

//

pos = retPathindexOf(path + clsName);

retPath = retPathsubstring(0, pos - 1);

//

// If the class file was packageed into JAR eg file, delete the

// file name of the corresponding JAR eg

//

if (retPathendsWith("!")) {

retPath = retPathsubstring(0, retPathlastIndexOf("/"));

}

retPath = URLDecoderdecode(retPath, "utf-8");

} catch (Exception e) {

retPath = null;

eprintStackTrace();

}

return retPath;

}

}

测试类:

public class Test{

public static void main(String args[]){

String s = PathUtilgetProgramPath();

Systemoutprintln(s);

}

}

在C#里面获得应用程序的当前路径

EnvironmentCurrent

Directory

——获取应用程序的当前工作目录。

SystemIODirectoryGetCurrentDirectory()

AppDomainCurrentDomainBaseDirectory

——这两个只能在WindowForm中使用;

ApplicationStartupPath

ApplicationExecutablePath

--获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。

EnvironmentCurrentDirectory

--获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。

ApplicationExecutablePath

任务管理器中所要找的文件进程上单击鼠标右键,选择“打开文件位置”即可。

一、 启动任务管理器

第一种方法当然是同时按下Ctrl+Alt+Del 这个组合键了,也可以按Ctrl+Shift+Esc

第二种就是在任务栏的空白处单击鼠标右键,在d出的菜单里选任务管理器。 第三种 开始→运行→输入taskmgrexe

二、 任务管理器的菜单栏介绍

任务管理器的菜单栏分几个选项菜单,我们来逐一认识一下它

任务管理器菜单栏

21、"文件"菜单 文件选项可以新建任务(同开始→运行),也可以点击浏览找到想运行的程序然后按确定来启动该程序。

妙用:许多软件在安装后会提示我们需要重新启动才能让软件正常使用,如果你不想重启电脑,那么可以这么试试::在任务管理器的"进程"选项卡中选择"explorerexe"进程,然后点击"结束进程"按钮将它结束,这个时候桌面显示消失了。接下来,我们在任务管理器的"文件→新建任务"中输入"explorerexe",然后点击运行,就可以让桌面恢复显示,接着试试软件就能正常使用了没?

22、"选项"菜单 这里可以设置

◆是否使任务管理器总在前端显示。

◆是否最小化至系统托盘区。

◆是否最小化时隐藏(不显示小图标)。

◆是否显示16位的任务。

、"查看"菜单 更新速度选项可以更改任务管理器的相关数据更新速度,默认的是每两秒更新一次。其中"高"表示一秒刷新两次;"标准"表示两秒刷新一次;"低"表示四秒刷新一次;"暂停"表示不自动刷新。刷新率越高,占用资源越大。选择列选项,列出了可选的一些反应进程运行情况的参数, 查看选项

24、"关机"菜单 可以完成待机、休眠、关闭、重新启动、注销用户、切换用户的任务。 接下来我们来认识任务管理器的选项卡。

31、 "应用程序"选项卡

在这里显示当前系统所运行的程序(最小化至系统托盘区的程序不会显示出来)在这里选择一个或多个程序,可以执行的 *** 作有:

◆切换:把选定程序切换为活动(从一个任务切换到另一个任务,类似于快捷键alt+tab)

◆前置:把选定程序切换至前台显示

◆最小化最大化:将选定程序最小化或最大化

◆横向和纵向平铺:必须选择两个以上程序(按着ctrl可多选任务)才能激活这两个按钮,作用是在桌面在平铺选定程序 如纵向平铺两记事本

◆结束任务:结束选定程序

◆转到进程:切换到该程序对应的进程

小技巧:利用任务管理起的切换至功能,可以使原本用tab+alt切换后运行不正常的程序,正常运行。这里显示了当前正在运行的进程,是查看有无病毒木马程序最简单,最快捷的方法。

通常要注意的进程是:

◆名字稀奇古怪的,比如a123bexe 等

◆冒充系统进程的,比如svch0stexe 中间的是数字0而不是字母o 。

◆占用系统资源大的。

如果你对某个进程有疑问,可以在搜索引擎上搜索一下该进程名,通常就能得知是否属于恶意进程了。

在这里选择一个进程,可以执行的 *** 作有:

◆结束进程:结束当前选定的进程,系统进程无法结束。

◆结束进程树:通常一个应用程序运行后,还可能调用其它的进程来执行 *** 作,这一组进程就形成了一个进程树(进程树可能是多级的,并非只有一个层次的子进程)。该应用程序称之为父进程,其所调用的对象称之为子进程。当我们结束一个进程树后,即表示同时结束了其所属的所有子进程。所以当你无法结束某一进程时可以尝试结束进程树试试。

◆设置优先级:比如你同时运行了几个程序,在看碟,杀毒软件在扫描病毒,或者还开着QQ等。你看碟觉得一卡一卡的,这时就可以用到设置优先级的选项了。在进程列表了找到播放器的对应进程,然后选择设置优先级,把播放器的优先级设置为高(让计算机优先处理该程序),试试,影片不卡了吧。

显示所有用户的进程:如果用了用户切换,即同时有两个或以上的用户登录了系统,那么选择该选项可以显示出所有用户的进程

每个进程里的

◆名称:该进程名

◆用户名:运行该程序的用户的名称

◆Cpu:该程序占用cpu资源的百分比

◆内存:该程序占用的内存资源

小技巧:删除顽固文件 结束包括explorerexe在内的所有进程,然后在新建任务中浏览找到无法删除的文件删除。

33、"性能"选项卡

直接用鼠标双击"性能"标签页的任意区域,这时"CPU使用"和"CPU使用记录"图表就会最大化显示,再次双击即可还原CPU使用:表示当前使用到了cpu资源的百分之几。如果你的cpu使用率长期性太高,那表明:

◆1是你的电脑中毒了。

◆2是某个软件出错了。

◆3是该升级电脑了。

CPU使用记录:显示cpu的使用率随时间的变化情况的图表,默认刷新率为每两秒一次,可通过查看菜单调节刷新率,如果你的cpu是双核的,或者是超线程的,这里将同时显示两个核心的使用率

以上就是关于Java获取程序运行的当前工作目录全部的内容,包括:Java获取程序运行的当前工作目录、C#中如何获得当前应用程序路径、任务管理器的进程的所运行文件的文件目录怎么在哪里找等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9652974.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存