我目前有一個基本的客戶端-服務器應用程序要開發作為我的任務。該程序僅用于計算質數、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
提交
取消