我目前有一个基本的客户端-服务器应用程序要开发作为我的任务。该程序仅用于计算质数、GCD 等。客户端是一个 GUI,服务器端(本地主机)负责执行计算并将结果发送回客户端。其中一个要求是,当客户端用户点击“计算”按钮时,客户端程序发送客户端需要服务器执行和计算的特定任务( 、 等)ComputePrime.java的类名。ComputeGCD.java然后服务器需要检查文件夹中是否存在类文件。如果没有,则服务器向客户端发送一条错误消息。如果确实存在,那么应该按预期进行计算。但是,出于某种原因,即使文件存在,“File.exists()”指令仍会返回 false。另外,我也需要它在运行时工作。例如,如果我ComputePrime.java在程序执行后删除 a,它应该返回 false,如果我在运行时将它添加回来,它应该返回 true。我把它放在一个线程中,因为它无限运行只是为了看看它是否适用于动态删除和添加文件。只要是基本的 Java 代码,欢迎任何其他想法。Thread t1 = new Thread(){@Overridepublic void run(){ File file = new File("../Contract/ComputePrime.java"); if(file.exists()) { System.out.println("Exists"); } else { System.out.println("Not Exists"); } try { this.sleep(1000); this.run(); } catch (InterruptedException ex){}}};t1.start();PS 此代码在服务器端。这是项目文件夹结构。我尝试使用不同的相对路径技术,例如 ".././Contract/ComputePrime.java" 、 ".././ComputePrime.java" 、 "~/Contract/ComputePrime.java"、"../Contract /Compute”和“./../Contract/ComoutePrime.java”。即使文件在文件夹中,它们都返回 false。它必须是相对路径,这样程序才能在我教授的计算机上运行。我不确定为什么会这样。在过去的 5 或 6 个小时里,我一直在谷歌上搜索,试图解决这个问题,但我一无所获,这就是为什么我要问一个重复的问题。最后,如果找到解决方案,是否有可能在运行时/动态地解决?比如我执行完删除文件,它应该返回false,当我放回文件时,它应该返回true。先感谢您!更新 尝试 file.getAbsolutePath 后,这就是我得到的输出那么,我猜上面代码中的相对路径是正确的吗?
添加回答
举报
0/150
提交
取消