使用将在Linux Web服务器上运行的应用程序来删除某个目录中的日志,但是我不断收到FileNotFound异常.
这是代码:
public static void deleteLOG() {
try {
ProcessBuilder probuilder = new ProcessBuilder("find /home/root/multicraft/servers/ -name '*.log' -delete");
probuilder.start();
} catch (IOException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
而且例外
java.io.IOException: Cannot run program "find . -name '*CoreData*' -delete" (in directory "/home/root/multicraft/servers"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(Unknown Source)
at com.mcprohosting.com.nodecleanup.Preprocess.deleteCoreData(Preprocess.java:23)
at com.mcprohosting.com.nodecleanup.handlers.CleanupHandler.executeCleanup(CleanupHandler.java:36)
at com.mcprohosting.com.main.NodeCleaner.init(NodeCleaner.java:29)
at com.mcprohosting.com.main.NodeCleaner.main(NodeCleaner.java:25)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 5 more
Run Code Online (Sandbox Code Playgroud)
但是命令cd/home/root/multicraft/servers工作得很好. …
我正在开发一个用于保存和调用屏幕状态的系统,这是我第一次弄乱这种东西,所以我不确定最好的方法是什么,但我目前存储所有“PreviewMonitor”数组列表中的对象(大约 40 个左右)。问题是,当我创建一个名为“allPreviewMonitors”的 ArrayList 副本进行存储时,我最终得到了一个 ArrayList,其中的元素随着原始元素的更新而不断变化。这几乎就像我在使用原始 ArrayList 一样,而实际上,它应该是一个完全不同的 ArrayList,其中包含我创建 allPreviewMonitors 副本时元素及其状态的“冻结”版本。为什么会发生这种行为?如果需要,我可以显示代码,但我不确定这里是否需要它。