小编Mat*_*ndi的帖子

当文件存在时,ProcessBuilder会发出"找不到文件"异常

使用将在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工作得很好. …

java processbuilder

5
推荐指数
1
解决办法
9970
查看次数

arraylist 的副本不断修改为原始值

我正在开发一个用于保存和调用屏幕状态的系统,这是我第一次弄乱这种东西,所以我不确定最好的方法是什么,但我目前存储所有“PreviewMonitor”数组列表中的对象(大约 40 个左右)。问题是,当我创建一个名为“allPreviewMonitors”的 ArrayList 副本进行存储时,我最终得到了一个 ArrayList,其中的元素随着原始元素的更新而不断变化。这几乎就像我在使用原始 ArrayList 一样,而实际上,它应该是一个完全不同的 ArrayList,其中包含我创建 allPreviewMonitors 副本时元素及其状态的“冻结”版本。为什么会发生这种行为?如果需要,我可以显示代码,但我不确定这里是否需要它。

java clone copy arraylist duplicates

2
推荐指数
1
解决办法
5222
查看次数

标签 统计

java ×2

arraylist ×1

clone ×1

copy ×1

duplicates ×1

processbuilder ×1