关于java获取路径的问题

1、获取编译后的路径target/classes(推荐使用)

Thread.currentThread().getContextClassLoader().getResource("hhh.txt").getPath()

获取的是编译后target/classes下的文件 在这个文件下查找
获取的路径如下

/F:/item/ssm/target/classes/hhh.txt

windows下想要使用的话最好将其改变成分隔符为\的形式,如下

//修改地址格式
    public static String getNewPathString(String oldPath){
        oldPath=oldPath.substring(1);
        String newPath = oldPath=oldPath.replace("/","\\");
        return newPath;
    }

但是如果存在多系统进行部署的话最好变成如下形式的分隔符,这样的分隔符具有通用性

static final String separator = File.separator;
//修改地址格式
    public static String getNewPathString(String oldPath){
        oldPath=oldPath.substring(1);
        String newPath = oldPath=oldPath.replace("/",separator);
        return newPath;
    }

2、获取项目根目录

System.getProperty("user.dir")
//获取的路径为F:/item/ssm/
//为项目所在路径

前提是不是web项目 如果是web路径则要注意获取的路径为“tomcat下的bin目录”

特殊注意一点windows下才用反斜杠“\”表示目录 而linux采用正斜杠“/”
同时java中“\”反斜杠代表转义字符一般都用“\”两个反斜杠表示 或者File.separator
推荐使用File.separator

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,可以使用Dijkstra算法来找到最短路径。Dijkstra算法使用优先队列来寻找未知顶点中具有最小dist值的顶点。首先,需要实现一个Vertex类,并在该类中实现__lt__方法,以支持小于比较运算符。然后,可以使用递归的思想来实现找到最短路径的函数。下面是一个示例代码: ```python import heapq class Vertex: def __init__(self, name): self.name = name self.dist = float('inf') self.prev = None def __lt__(self, other): return self.dist < other.dist def find_shortest_path(start, end): pq = \[\] start.dist = 0 heapq.heappush(pq, start) while pq: current = heapq.heappop(pq) if current == end: break for neighbor in current.neighbors: distance = current.dist + current.get_distance(neighbor) if distance < neighbor.dist: neighbor.dist = distance neighbor.prev = current heapq.heappush(pq, neighbor) path = \[\] current = end while current: path.append(current.name) current = current.prev path.reverse() return path ``` 这段代码使用了优先队列来实现Dijkstra算法,通过不断更新顶点的dist值和prev指针来找到最短路径。你可以将起点和终点作为参数传递给`find_shortest_path`函数,它将返回一个包含最短路径顶点名称的列表。 #### 引用[.reference_title] - *1* *2* [最短路径算法——Dijkstra算法——python3实现](https://blog.csdn.net/anlian523/article/details/80893372)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [利用Python解决最短路径问题](https://blog.csdn.net/Eric005/article/details/123521781)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值