0

我知道经常有人问类似的问题。但是解决方案对我不起作用。我确实尝试过 jcifs.jar(版本 1.3.17)。在这里,我发现它非常慢,并且由于某种原因有时会挂起。由于我足够绝望,我可以应付极其缓慢的(并以不可靠的方式祈祷)。但是现在我还有一个问题,我需要压缩网络驱动器上的一些内容。这不适用于 jcifs 或者我不知道如何。我的最佳解决方案是让 copy 调用一个 .bat 来进行复制(这不起作用,因为它找不到驱动器)。并调用 7za.exe 将其压缩(找不到驱动器)。示例代码:

public static int SevenZip(String source, String dest, ServletContext context) throws IOException, InterruptedException
{
    String zipFile = "\"" + context.getRealPath("") + "\\WEB-INF\\7za.exe\"";

    String zipInstruction = zipFile + " a " + dest + " " + source;
    Logger.getAnonymousLogger().info(zipInstruction);

    Process process = Runtime.getRuntime().exec(zipInstruction);
    StreamGobbler errorGobbler = new StreamGobbler(process.getErrorStream(), "ERR");
    StreamGobbler outputGobbler = new StreamGobbler(process.getInputStream(), "OUT");
    errorGobbler.start();
    outputGobbler.start();

    return process.waitFor();
}

如果不作为 servlet 完成,该代码将起作用。忽略 StreamGobbler,它只从进程中获取错误和输出流。我在某处读到可以将tomcat设置为Windows身份验证,但我不明白在哪里以及如何。这会帮助我吗?如何?

4

1 回答 1

0

我找不到 jcifs 的替代品。结果不是最佳的,但似乎还可以。我不认为这是 jcif 更多网络的错,我对此没有影响。

于 2012-12-10T09:49:31.683 回答