如何在java中使用用户名和密码删除、创建和更新网络驱动器中的文件

问题描述 投票:0回答:1

我正在尝试使用以下代码删除网络(Y 驱动器)驱动器上的文件

import org.apache.commons.vfs.FileSystemOptions;
import org.apache.commons.vfs.UserAuthenticator;
import org.apache.commons.vfs.auth.StaticUserAuthenticator;
import org.apache.commons.vfs.impl.DefaultFileSystemConfigBuilder;
import org.apache.commons.vfs.VFS;
import org.apache.commons.vfs.FileObject;

public class DeleteLogFile {

    public static void main(String[] args) {

        String filePath = "y:\\test\\test.log";

        String domain = "ABCDESDX";
        String userName = "abc";
        String password = "xyzl@jun2013";
        String remoteFilePath = filePath;

        try {

            UserAuthenticator auth = new StaticUserAuthenticator(domain, userName, password);
            FileSystemOptions opts = new FileSystemOptions();
            DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth);

            FileObject fo = VFS.getManager().resolveFile(remoteFilePath, opts);

            if (fo.exists()) {

                System.out.println("FILE IS THERE");
                if (fo.delete()) {
                    System.out.println("deleted");
                }
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

上面的程序正在删除文件,但该程序不使用用户名和密码,因为如果我输入错误的凭据,那么文件仍然会被删除

请建议此方法或替代方法来实现此要求

java file file-io io
1个回答
0
投票

显然你应该使用 CIFS :

CIFS

这是一个例子

让我知道这是否是正确的方法,我刚刚找到了两个链接,但从未尝试过这个;)

© www.soinside.com 2019 - 2024. All rights reserved.