精华内容
下载资源
问答
  • 最近的工作涉及到创建和读取文件的工作,这里我就给大家彻底得解决e69da5e6ba9062616964757a686964616f31333365633838Java路径问题。我编写了一个方法,比ClassLoader.getResource(String 相对路径)方法的能力更强。...

    展开全部

    Java的路径问题,非常难搞。最近的工作涉及到创建和读取文件的工作,这里我就给大家彻底得解决e69da5e6ba9062616964757a686964616f31333365633838Java路径问题。

    我编写了一个方法,比ClassLoader.getResource(String 相对路径)方法的能力更强。它可以接受“../”这样的参数,允许我们用相对路径来定位classpath外面的资源。这样,我们就可以使用相对于classpath的路径,定位所有位置的资源!

    Java路径

    Java中使用的路径,分为两种:绝对路径和相对路径。具体而言,又分为四种:

    一、URI形式的绝对资源路径

    如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b

    URL是URI的特例。URL的前缀/协议,必须是Java认识的。URL可以打开资源,而URI则不行。

    URL和URI对象可以互相转换,使用各自的toURI(),toURL()方法即可!

    二、本地系统的绝对路径

    D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b

    Java.io包中的类,需要使用这种形式的参数。

    但是,它们一般也提供了URI类型的参数,而URI类型的参数,接受的是URI样式的String。因此,通过URI转换,还是可以把URI样式的绝对路径用在java.io包中的类中。

    三、相对于classpath的相对路径

    如:相对于

    file:/D:/java/eclipse32/workspace/jbpmtest3/bin/这个路径的相对路径。其中,bin是本项目的classpath。所有的Java源文件编译后的.class文件复制到这个目录中。

    四、相对于当前用户目录的相对路径

    就是相对于System.getProperty("user.dir")返回的路径。

    因此,我们在使用相对路径时,应当使用相对于当前classpath的相对路径。

    ClassLoader类的getResource(String name),getResourceAsStream(String name)等方法,使用相对于当前项目的classpath的相对路径来查找资源。

    读取属性文件常用到的ResourceBundle类的getBundle(String path)也是如此。

    通过查看ClassLoader类及其相关类的源代码,我发现,它实际上还是使用了URI形式的绝对路径。通过得到当前classpath的URI形式的绝对路径,构建了相对路径的URI形式的绝对路径。(这个实际上是猜想,因为JDK内部调用了SUN的源代码,而这些代码不属于JDK,不是开源的。)

    展开全文
  • 展开全部1、要解决问题bai之前,我们需要下载dujava这个软件,在zhi浏览器dao上搜索,记住下载回的具体位置,答...3、我们需要改换一下改文件存储的路径,点击打开目标文件选择界面,点击更改,创建一个名为Java名...

    展开全部

    1、要解决问题bai之前,我们需要下载dujava这个软件,在zhi浏览器dao上搜索,记住下载回的具体位置,答方便下一步的操作。

    a0e9f1547ff02b7c8fea0075ec9377d7.png

    2、接着我们需要安装Java在电脑上,我们可以看到它储存的文件夹,下载完毕后进行安装,这时候我们一定要注意,在安装时要勾选安装界面左下角更改目标文件夹,然后进行安装。

    592c6be7f0450d68f79ca1ef1843e7ef.png

    3、我们需要改换一下改文件存储的路径,点击打开目标文件选择界面,点击更改,创建一个名为Java名字的新文件夹,方便我们寻找,点击确定,进行下一步。

    043c088723815dd1482e49d225502c80.png

    4、安装完毕后,我们就打开我的世界游戏软件,在游戏启动器界面,打开设置界面浏览。

    72fd7116f390da34a10fca5ecd0dbff8.png

    5、打开之前创建的文件,找到自己刚才安装Java时的文件夹,选择Java文件夹和jre7文件夹,并且我们可以看到里面有个javaw.exe目标,确定之后保存,整个路径保存就算解决成功,打开游戏,就能快速的进入游戏。

    262bf08c6dab5bb9d2fe88ec07b38c24.png

    Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

    展开全文
  • Java 实现最优路径查找算法(伪Leetcode路径查找算法)今天忙里偷闲写了下关于Leetcode里面的路径查找相关算法,题目在下面的链接,这个题目和它前面的62题是连在一起的,但是这个题目有一个规定是,只能向右和向下...

    Java 实现最优路径查找算法(伪Leetcode路径查找算法)

    今天忙里偷闲写了下关于Leetcode里面的路径查找相关算法,题目在下面的链接,这个题目和它前面的62题是连在一起的,但是这个题目有一个规定是,只能向右和向下查找,这里就有很大的可操作性了,本文是基于四个方向都可以移动来实现的,并且没有规定死开始位置和目标位置。
    这里说明一下,这个算法的主要采用的是递归的实现,但是放到Leetcode里面时间复杂度是过不了的,如果有更好的实现思路请私信或者留言给我,算法中有可以改进的地方,也请留言告知,谢谢!
    这里发一下题目的链接:
    https://leetcode.com/problems/unique-paths-ii/

    PS:这个算法不是完全按照leetcode里面的题目,Leetcode里面是规定是只能向右和向下,本文算法实现是没有做规定的.

    实现方法:

    动态规划算法

    实现说明:

    • 动态规划算法实现 两个条件:1、递归方案,2、边界条件
      递归方案:位置点的遍历;
      边界条件:最终目的点和当前遍历的路径深度是否大于查找到的路径的深度;下一个位置点是否是障碍物点或者是否已经同遍历层级遍历过。

    • 该算法是找出所有的路径,在这些路径中可以找到最优解,并且最优解有可能不止一个。

    • 在有第一条路径的时候,获取路径的长度。 然后在递归是可以判断当前路径的长度,如果已经大于已经有结果的最小路径,则直接回退即可,不需要遍历。

    实现代码

    代码里面是有相应的注释,就不过多解释了

    public class Solution {
        // 结果容器
        private ArrayList<ArrayList<Point>> resultList = new ArrayList<ArrayList<Point>>();
        // 已经有路径的步数大小,如果大于这个步数就不用在递归了,肯定不是最优解
        private int alreadyPath = -1;
    
        public int uniquePathsWithObstacles(int[][] obstacleGrid) {
            return uniquePathsWithObstacles(obstacleGrid, 0, 0,
                    obstacleGrid.length - 1, obstacleGrid[0].length - 1);
        }
    
        private int uniquePathsWithObstacles(int[][] obstacleGrid, int startX,
                int startY, int endX, int endY) {
            Point[] pointArray = constructPointArray(obstacleGrid);
            if (pointArray != null && pointArray.length == 1
                    && pointArray[0].value == 0) {
                return 1;
            }
            if (pointArray[startY + startX * obstacleGrid[0].length].value == 1
                    || pointArray[endY + endX * obstacleGrid[0].length].value == 1) {
                return 0;
            }
    
            ArrayList<Point> list = new ArrayList<Point>();
            list.add(pointArray[startY + startX * obstacleGrid[0].length]);
            pointArray[startY + startX * obstacleGrid[0].length].IsCheck = true;
            caclPath(pointArray, pointArray[startY + startX
                    * obstacleGrid[0].length], pointArray[endY + endX
                    * obstacleGrid[0].length], list, obstacleGrid);
            return resultList.size();
        }
    
        private void caclPath(Point[] pointArray, Point currentPoint,
                Point targetPoint, ArrayList<Point> pointList, int[][] obstacleGrid) {
            if (alreadyPath != -1 && alreadyPath < pointList.size()) {
                return;
            }
            if (currentPoint == targetPoint) {
                ArrayList<Point> tempList = (ArrayList<Point>) pointList.clone();
                if (tempList.size() < alreadyPath) {
                    resultList = new ArrayList<ArrayList<Point>>();
                }
                alreadyPath = tempList.size();
                resultList.add(tempList);
                currentPoint.IsCheck = false;
                return;
            } else {
                ArrayList<Point> pointArrayTemp = currentPoint.getAroundPoint(
                        pointArray, obstacleGrid, targetPoint);
                for (int i = 0; i < pointArrayTemp.size(); ++i) {
                    pointList.add(pointArrayTemp.get(i));
                    pointArrayTemp.get(i).IsCheck = true;
                    caclPath(pointArray, pointArrayTemp.get(i), targetPoint,
                            pointList, obstacleGrid);
                    pointArrayTemp.get(i).IsCheck = false;
                    pointList.remove(pointArrayTemp.get(i));
                }
            }
    
        }
    
        /**
         * 组成点对象
         * 
         * @param obstacleGrid
         * @return
         */
        private Point[] constructPointArray(int[][] obstacleGrid) {
            Point[] arrayPoint = new Point[obstacleGrid.length
                    * obstacleGrid[0].length];
            Point point = null;
            for (int i = 0; i < obstacleGrid.length; ++i) {
                for (int k = 0; k < obstacleGrid[0].length; ++k) {
                    point = new Point();
                    point.X = i;
                    point.Y = k;
                    point.IsCheck = false;
                    point.value = obstacleGrid[i][k];
                    arrayPoint[k + i * obstacleGrid[0].length] = point;
                }
            }
            return arrayPoint;
        }
    
        private class Point {
            public int X;
            public int Y;
            public boolean IsCheck;
            public int value;
    
            /**
             * 获取某个点接下来可走的位置
             * 
             * @param pointArray
             * @param obstacleGrid
             * @param targetPoint
             * @return
             */
            private ArrayList<Point> getAroundPoint(Point[] pointArray,
                    int[][] obstacleGrid, final Point targetPoint) {
                Point original = this;
                ArrayList<Point> arraylist = new ArrayList<Point>();
                Point point = null;
                // 上
                if (original.X - 1 >= 0
                        && pointArray[(original.X - 1) * obstacleGrid[0].length
                                + original.Y].value != 1
                        && !pointArray[(original.X - 1) * obstacleGrid[0].length
                                + original.Y].IsCheck) {
                    // 说明点可以走
                    point = pointArray[(original.X - 1) * obstacleGrid[0].length
                            + original.Y];
                    arraylist.add(point);
                }
                // 下
                if (original.X + 1 < obstacleGrid.length
                        && pointArray[(original.X + 1) * obstacleGrid[0].length
                                + original.Y].value != 1
                        && !pointArray[(original.X + 1) * obstacleGrid[0].length
                                + original.Y].IsCheck) {
                    // 说明点可以走
                    point = pointArray[(original.X + 1) * obstacleGrid[0].length
                            + original.Y];
                    arraylist.add(point);
                }
                // 左
                if (original.Y - 1 >= 0
                        && pointArray[(original.X) * obstacleGrid[0].length
                                + original.Y - 1].value != 1
                        && !pointArray[(original.X) * obstacleGrid[0].length
                                + original.Y - 1].IsCheck) {
                    // 说明点可以走
                    point = pointArray[(original.X) * obstacleGrid[0].length
                            + original.Y - 1];
                    arraylist.add(point);
                }
                // 右
                if (original.Y + 1 < obstacleGrid[0].length
                        && pointArray[(original.X) * obstacleGrid[0].length
                                + original.Y + 1].value != 1
                        && !pointArray[(original.X) * obstacleGrid[0].length
                                + original.Y + 1].IsCheck) {
                    // 说明点可以走
                    point = pointArray[(original.X) * obstacleGrid[0].length
                            + original.Y + 1];
                    arraylist.add(point);
                }
                return arraylist;
            }
        }
    }
    

    总结

       这个算法是我认为最有意思的一个算法,它可以做路径查找的小游戏,在对战类的游戏中有很大的帮助,本文的缺陷是,递归方案使得时间耗时严重,后续会继续对其进行优化,有好的思路请留言告知。
    
    展开全文
  • 打开终端,执行 /usr/libexec/java_home -V

    打开终端,执行

    /usr/libexec/java_home -V
    展开全文
  • 原标题:centos查找已安装的jdk路径的方法在可执行 java命令的情况下查找过程如下:执行which java[root@localhost ~]# which java/usr/bin/java执行ls -lrt /usr/bin/java[root@localhost ~]# ls -lrt /usr/bin/...
  • 查找java安装路径

    千次阅读 2019-05-25 13:04:41
    昨天需要查找java的安装路径, 一时想不起怎么操作,百度加回忆想起whereis 和 ls,记录下。 whereis java 该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。 ls -lrt /...
  • String javaHome = System.getProperty("java.home");Can you tell me either through pure Java … on windows how is it possible to find out the location of javaw.exe?例如.import java.io.File;class ...
  • Ubuntu查找Java安装路径

    千次阅读 2018-03-10 21:39:58
    使用这些命令就很简单的找到了java的安装路径,做下记录。whereis javajava安装路径)which javajava执行路径)echo $JAVA_HOME(java环境变...
  • 我实现了以下方法来查找最长的绝对文件路径.public static int lengthLongestPath(String input) {HashMap map = new HashMap();if (input.length() == 0) return 0;int maxLength = 0;int subStringLength = 0;int ...
  • find/usr/-name*jdk上面的命令会找到很多个路径的话,你需要用如下这个命令查找具体的jdk路径。$java-showversion-verbose2>&1|head-1[Opened/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/lib/rt....
  • 例如,目前有com.xxx.exception.errorcode这个路径的字符串 如何通过这个包路径来获取这个包的绝对路径(存放java文件的路径),查询这个包下有哪些java文件。
  • Linux查找java安装路径

    千次阅读 2019-04-25 22:56:18
    通过 which java 定位到的是java程序执行路径
  • 在可执行 java命令的情况下查找过程如下:执行which java[root@localhost ~]# which java /usr/bin/java执行ls -lrt /usr/bin/java[root@localhost ~]# ls -lrt /usr/bin/java lrwxrwxrwx. 1 root root 22 10月 10 08...
  • 字串的连接最长路径查找 java 题目描述 给定n个字符串,请对n个字符串按照字典序排列。 输入描述: 输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。 输出描述:...
  • 终端输入:/usr/libexec/java_home -V 查找有的java版本
  • 本文实例为大家分享了java查找图中两点之间所有路径的具体代码,基于邻接表,供大家参考,具体内容如下图类:package graph1;import java.util.LinkedList;import graph.Graph.edgeNode;public class Graph {class ...
  • 本代码实现java实现带权无环图关键路径查找,使用者可根据自身需要进行修改
  • 查找Java的安装路径

    2020-06-03 14:42:05
    今天想实验一下JDK里面自带的java的一些内存检查工具,但是发现没找到JDK的安装路径,比较尴尬,所以记录一下文章,以便下次查阅。 方法 whereis 指令whereis Java which 命令which Java which和whereis命令都...
  • 1、在Java项目中,应该通过绝对路径訪问文件。下面为訪问的经常用法:第一种方法:类名.class.getResource("/").getPath()+文件名称另外一种方法:Thread.currentThread().getContextClassLoader().getResource("")....
  • 路径查找 java代码 栈用来装路径,edgeTo路径查找的关键数组,索引代表顶点,值代表从某个搜索起点到当前结点路径上的最后一个顶点,即使有多条路经,但是会优先绑定先添加的边的顶点,因为队列是先进先出的,循环...
  • //这里可以自己修改,如果想查找.txt就改成.txt就好了 System.out.println("\n目录" + directory.getAbsolutePath() + "下的.java文件"); for (File file : javaFiles) { result.add(file.getAbsolutePath()); ...
  • 题目描述 给定n个字符串,请对n个字符串按照字典序...//字串的连接最长路径查找 public class lujing { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt()
  • 一、资源文件的路径查找 当我们自己的程序需要处理配置文件时(比如xml文件或properties文件),通常会遇到两个问题:  (1)我的配置文件应该放在哪里?  (2)怎么我的配置文件找不到了?  在了解...
  • 在ubuntu中安装过java,环境变量都已经默认设置好了。想找到java安装到哪里了,如何找呢,搜索...这个命令,能找到java执行的目录,得到形如/usr/bin/java路径 file filename 通过这个命令,就能一点一点地找到jd
  • 一、在用eclipse构建的项目中,根目录下会有.classpath文件中指定classpath路径。 说明:kind="src"所指的路径就是classpath路径。 ...二、在用idea构建项目中,会在根目录下的.idea/moudles...三、Java...
  • ERROR: JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-0.el7_9.x86_64 does ...export JAVA_HOME=你的java路径 查找hadoop-env.sh命令cd /usr/local/hadoop/etc/hadoop,ls 查看JAVA_HOME的路径是$JAVA_HO
  • 主要为大家详细介绍了java查找图中两点之间所有路径,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 例如,给定[1,0,0,0,0][1、0、1、1、1][1、1、1、0、1][1、0、0、0、1][1、0、0、0、1]有效路径是[1,0,0,0,0][1、0、1、1、1][1、1、1、0、1][0,0,0,0,1][0,0,0,0,1]Java解决方案public i...
  • 打开终端,输入执行命令: /usr/libexec/java_home -V 结果: Matching Java Virtual... 1.8.0_191, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home /Library/Java/JavaVi...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,818
精华内容 1,527
关键字:

java路径查找

java 订阅