当前位置: 首页 > 知识库问答 >
问题:

Java /Webdav:文件名、目录名或卷标语法不正确"

赫连开畅
2023-03-14

我知道这可能很简单,但我解决不了。

我试图将一个文件从Java客户端上传到webdav服务器,这是我的代码片段

String filename = "abc.csv";
File targetFolder = new File("https://webdavserverurl/Uploads/");
File targetFile = new File(targetFolder, filename);
.....http connections stuffs
fileInputStream = new FileInputStream(fileToCopy);
fileOutputStream = new FileOutputStream(targetFile); // exception here
byte[] buffer = new byte[64*1024];
            int i = 0;
            while((i = fileInputStream.read(buffer)) != -1) {
                fileOutputStream.write(buffer, 0, i);
            }

在创建o/p流时,我得到

JAVA伊奥。FileNotFoundException:https:\webdavserverurl\Uploads\abc。csv(文件名、目录名或卷标语法不正确)

为什么它会改变路径?我该如何修复它?

注:

  1. 这是一个PUT请求。文件abc.csv正在服务器位置创建(我可以在Web界面中看到)。但是文件是空的,原因很明显。
  2. 用户拥有所有凭据。
  3. 文件大小小于1 Mb。
  4. 我可以使用凭据手动将文件放在位置。
  5. 我已经尝试了这里建议的一切:java.io.IOException的可能原因是什么:“文件名、目录名或卷标签语法不正确”

共有1个答案

壤驷高洁
2023-03-14

要从URL读取文件,请执行以下操作:

try {
  URL url = new URL("https://webdavserverurl/Uploads/abc.csv");    
  try( InputStreamReader isr = new InputStreamReader(url.openStream());
      BufferedReader brd = new BufferedReader( isr ); ) {
  }
  catch( IOException ex ) {…}
}
catch( MalformedURLException ex ) {…}
 类似资料: