gpt4 book ai didi

java - 使用Java获取不同计算机上的资源

转载 作者:行者123 更新时间:2023-12-02 13:17:13 25 4
gpt4 key购买 nike

 private static final String FILE_PATH = "MessageCompare\\src\\main\\resources\\json\\test.json";` 

File file = new File(FILE_PATH);

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file.getAbsolutePath())));`

在我的电脑中,file.getAbsolutePath() 返回
D:\Dev\Tool\MessageCompare\MessageCompare\src\main\resources\json\test.json

在其他计算机上,file.getAbsolutePath() 返回
D:\Dev\Tool\MessageCompare\src\main\resources\json\test.json

为什么文件的绝对路径返回的节点比别人的电脑多一个节点?

最佳答案

最好使用相对路径来保证跨平台。

通常有两种获取资源的方式:

  1. getClass().getResourceAsStream()<非静态方法> & xxx.Class.getResourceAsStream()<静态方法>
  2. getClass().getClassLoader().getResourceAsStream()<非静态方法> & xxx.Class.getClassLoader().getResourceAsStream()<静态方法>

有什么区别? Please notice this structure

  1. 关于#1,它使用:输入流 = getClass().getResourceAsStream("/json/rti.json");
  2. 对于#2,它使用:InputStream in = getClass().getClassLoader().getResourceAsStream("json/rti.json");

关于java - 使用Java获取不同计算机上的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43735317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com