首页 > 后端开发 > 正文

java如何获取项目的工作目录

2024-03-28 05:44:44 | 我爱编程网

小编今天整理了一些java如何获取项目的工作目录相关内容,希望能够帮到大家。

本文目录一览:

java如何获取项目的工作目录

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

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

import java.net.URL;

import java.net.URLDecoder;

class PathUtil {

/**

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

*

* @return the env of windir value.

*/

public static String getWindir() {

return System.getenv("windir");

}

/**

* Get file separator, such as "/" on unix.

*

* @return the separator of file.

*/

public static String getFileSeparator() {

return System.getProperty("file.separator");

}

/**

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

*

* @return the separator of line.

*/

public static String getLineSeparator() {

return System.getProperty("line.separator");

}

/**

* Get programPath

*

* @return programPath

*/

public static String getProgramPath() {

Class cls = PathUtil.class;

ClassLoader loader = cls.getClassLoader();

//

// Get the full name of the class.

//

String clsName = cls.getName() + ".class";

//

// Get the package that include the class.

//

Package pack = cls.getPackage();

String path = "";

//

// Transform package name to path.

//

if (pack != null) {

String packName = pack.getName();

//

// Get the class's file name.

//

clsName = clsName.substring(packName.length() + 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 (path.indexOf(".") > 0) {

path = path.replace(".", "/");

}

path = path + "/";

}

URL url = loader.getResource(path + clsName);

//

// Get path information form the instance of URL.

//

String retPath = url.getPath();

//

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

//

try {

int pos = retPath.indexOf("file:");

if (pos > -1) {

retPath = retPath.substring(pos + 5);

}

//

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

// path.

//

pos = retPath.indexOf(path + clsName);

retPath = retPath.substring(0, pos - 1);

//

// If the class file was packageed into JAR e.g. file, delete the

// file name of the corresponding JAR e.g..

//

if (retPath.endsWith("!")) {

retPath = retPath.substring(0, retPath.lastIndexOf("/"));

}

retPath = URLDecoder.decode(retPath, "utf-8");

} catch (Exception e) {

retPath = null;

e.printStackTrace();

}

return retPath;

}

}

测试类:

public class Test{

public static void main(String args[]){

String s = PathUtil.getProgramPath();我爱编程网

System.out.println(s);

}

}

java如何获取项目的工作目录

java如何获取项目的工作目录

import java.io.File;

import java.net.URLDecoder;

public class ProjectPath {

private static String rootPath = "";

private ProjectPath() {

init();

}

@SuppressWarnings("deprecation")

private static void init() {

String path = ProjectPath.class.getResource("ProjectPath.class")

.toString();

path = URLDecoder.decode(path);

path.replaceAll("\\\\", "/");

int index = path.indexOf("WEB-INF");

if (index == -1) {

index = path.indexOf("bin");

}

if (index == -1) {

index = path.indexOf("lib");

}

if (index == -1) {

int index2 = path.indexOf("jar!");

if (index2 != -1) {

path = path.substring(0, index2);

System.out.println(path);

System.out.println(File.separator);

index = path.lastIndexOf("/");

System.out.println(index);

}

}

path = path.substring(0, index);

if (path.startsWith("jar")) {

path = path.substring(9);

}

if (path.startsWith("file")) {

path = path.substring(5);

}

if (path.endsWith("/") || path.endsWith("\\")) {

path = path.substring(0, path.length() - 1);

}

// linux环境下第一个/是需要的

String os = System.getProperty("os.name").toLowerCase();

if (os.startsWith("win")) {

path = path.substring(1);

}

rootPath = path;

}

/**

* 获取应用的根目录,路径分隔符为/,路径结尾无/

*

* @return

*/

public static String getProjectPath() {

if ("".equals(rootPath)) {

init();

}

return rootPath;

}

}

java如何获取项目的工作目录

java运行时找不到目录

我爱编程网(https://www.52biancheng.com)小编还为大家带来java运行时找不到目录的相关内容。

你这是用命令行来编译java代码?

找不到目录, 你先看看java代码在什么目录 比如在D盘 code 文件夹下有java代码HelloWorld.java

D:\code\HelloWorld.java

那么命令依次应该是

d:

cd d:\code

javac HelloWorld.java

java HelloWorld

如果还不清楚就留个联系方式帮你看看

以上就是我爱编程网小编为大家带来的内容了,想要了解更多相关信息,请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“java如何获取项目的工作目录”相关推荐
ThinkPHP项目目录下Common目录要怎么使?
ThinkPHP项目目录下Common目录要怎么使?

thinkphp6app控制器文件夹小写ThinkPHP6正确的命名规范如下目录和文件1,目录使用小写+下划线:admin_manage2,类库、函数文件统一以.php为后缀:common.php3,类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致,这是自动加载的机制要求4,类(包含接口和Trait)文件采用驼峰法命名(首字母大写),其它文件

2024-08-02 03:46:01
如何部署java项目
如何部署java项目

如何部署java项目1.先看下文档目录和最后打包的效果可以看到,打包完后,第三方jar并不在程序包内。2.配置MANIFEST.MF文件,程序打包时会用到。2.1在项目下新健一个文件夹2.1在该文件夹下新健一个MANIFEST.MF文件,配置对应的属性3.打包程序,不包含第三方JAR包3.1点击file>export3.2选择jarfile,

2024-07-01 18:56:25
PHP怎么获取文件目录权限
PHP怎么获取文件目录权限

php禁用函数删除后还是提示运行动态加载的扩展、安全模式(SafeMode)、.user.ini文件等原因。1、动态加载的扩展:某些PHP扩展是动态加载的,不会在php.ini文件中列出。这意味着修改php.ini文件对它们无效。这些扩展可以在运行时被加载,其函数仍然可用。请检查是否有其他配置文件(如conf.d目录下)包含了启用该函数或相关功能所需的设置。2、安全模式(Safe

2024-09-17 07:02:27
java如何实现重启docker中运行的java项目
java如何实现重启docker中运行的java项目

java如何实现重启docker中运行的java项目java实现重启docker中运行的java项目步骤如下:1、准备一个简单的javaweb程序,打成jar包之后上传到服务器上。2、创建Dockerfile文件3、生成并启动镜像。4、日志查看,利用java查看实时日志。如何使用Docker进行Java开发1、java项目开发,假定已有一个java项目能够编译成j

2024-04-19 08:19:15
php程序设计:如何随机抽取几项工作中的一项
php程序设计:如何随机抽取几项工作中的一项

PHP使用随机函数,产生三个2位整数,输出到页面,并求出三个数中的最大值、最小值、平均值<?php$a=rand(10,99);$b=rand(10,99);$c=rand(10,99);echo "三个随机数为".$a.",".$b.",".$c;echo "最大值:".max($a,$b,$c);echo "最小值:".min($a,$b,$c);echo "平均值:".($a+$

2024-12-24 10:36:29
如何新建一个php项目
如何新建一个php项目

如何新建一个php项目php项目开发过程中,常常需要自动创建一些文件,如生成静态html,生成php缓存文件,生成txt文件等等。下面就分享一下如何利用php程序创建文件,并向文件中写入内容。一个项目中,可能不止一次需要生成文件,因此我们可以定义一个函数,当需要创建文件时再来调用这个函数,即可。步骤一、定义函数writefile,用于以写的方式打开一个文件,文件不存在时自动创建,

2024-07-23 00:14:55
中文分词的常见项目 PHP开发典型模块大全的目录
中文分词的常见项目 PHP开发典型模块大全的目录

中文分词的常见项目功能性能功能描述:1.新词自动识别对词典中不存在的词,可以自动识别,对词典的依赖较小;2.词性输出分词结果中带有丰富的词性;3.动态词性输出分词结果中的词性并非固定,会根据不同的语境,赋予不同的词性;4.特殊词识别比如化学、药品等行业词汇,地名、品牌、媒体名等;5.智能歧义解决根据内部规则,智能解决常见分词歧义问题;6.多种编码识别

2024-08-22 12:56:20