通过Java进行WebDAV身份验证

时间:2020-09-06 11:13:18

标签: java windows webdav

我制作了一个程序,可以将文件从手机复制到Windows文件夹。通过WebDAV服务器连接到电话。问题是,在我打开ex之前,我无法通过Java连接到电话。 htpp://192.168.1.40:8080在我的Windows资源管理器中。之后,该电话在Java中可见。但这破坏了我程序的所有含义。

首先有人知道如何通过Java访问电话吗?我是否需要更改注册表中的内容?

非常感谢!

P.S。复制过程通过:

File src = new File("\\\\" + address + "\\DavWWWRoot\\DCIM\\Camera");

地址为“ 192.168.x.xx:8080”

然后转到Files.walkFileTree复制所有文件。

2 个答案:

答案 0 :(得分:1)

如果您不想依赖操作系统,则必须使用WebDAV客户端。我建议使用Apache虚拟文件系统(VFS)。它在不同类型的文件系统上提供了额外的一层,并且似乎还支持WebDAV。

https://commons.apache.org/proper/commons-vfs/index.html

答案 1 :(得分:0)

嗯..我做了一些不同的事情,但是最简单的方法来解决我的问题。

整个问题出在该死的Windows操作系统上。默认情况下,它具有按需提供的WebClient服务。我将其切换为自动,现在重新启动后即可连接到电话(或任何其他WebDAV服务器)。

用于切换到自动WebClient服务的CMD代码:

sc config webclient start=auto

以管理员身份运行。

P.S。但是我必须承认,从WebDAV服务器复制文件的方式(walkFileTree)可能远非最佳。