问题标签 [apache-commons-vfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1880 浏览

java - Android - 安装 Apache Commons VFS - 问题

我希望在我的 Android 项目中使用 Apache Commons VFS 库,并从http://commons.apache.org/vfs/download_vfs.cgi下载了相关文件。然而。我遇到了一些问题。

我已将 commons-vfs2-2.0.jar 文件复制到我的 android 项目的 /libs/ 子目录中,并在 Eclipse 的 java 构建路径中引用它。我还引用了 Commons VFS (http://commons.apache.org/vfs/download.html) 使用的 Commons Logging 库。

一切都编译得很好,但是只要我尝试以下代码行

我得到一个例外。这是堆栈跟踪:

安装似乎有一些基本问题,但我不确定它是什么(Java不是我的第一语言;)。鉴于它是一个 Android 项目,有什么特别需要做的吗?任何指针将不胜感激。

0 投票
4 回答
10773 浏览

java - Commons VFS - 无法列出目录的内容

我对 Commons VFS 有疑问。我想使用 SFTP 连接到一个目录并列出它。这是代码:

似乎fsManager正确解决了它但getChildren()失败了。我发现这sourceDir是一种IMAGINARY类型;下面的代码说明了它

我检查了文件,它是一个普通文件夹 - 不是链接或类似的东西。

错误

0 投票
2 回答
2781 浏览

java - 使用 Apache Commons VFS 附加到文件

如果文件已经存在,我想使用 Apache Commons VFS 将文本附加到文件中,如果文件不存在,我想创建一个包含文本的新文件。

查看 VFS 的 Javadoc 似乎 FileContent 类中的 getOutputStream(boolean bAppend) 方法可以完成这项工作,但经过相当广泛的 Google 搜索后,我无法弄清楚如何使用 getOutputStream 将文本附加到文件中。

我将与 VFS 一起使用的文件系统是本地文件 (file://) 或 CIFS (smb://)。

使用 VFS 的原因是我正在处理的程序需要能够使用与执行程序的用户不同的特定用户名/密码写入 CIFS 共享,并且我希望能够灵活地写入本地文件系统或分享,因此我不只是使用 JCIFS。

如果有人能指出我正确的方向或提供一段代码,我将不胜感激。

0 投票
2 回答
7706 浏览

java - VFS 上的 Hello world 示例:从头开始创建 zip 文件

我想用 Commons VFS2 库创建一个 zip 文件。我知道如何在使用file前缀时复制文件,但zip没有实现文件的写入和读取。

fileSystemManager.resolveFile("path comes here")zip:/some/file.zip当 file.zip 是不存在的 zip 文件时,当我尝试路径时,-方法失败。我可以解析现有文件,但不存在的新文件失败。

那么如何创建新的 zip 文件呢?我无法使用 createFile(),因为它不受支持,并且在调用它之前我无法创建 FileObject。

正常的方法是使用该 resolveFile 创建 FileObject,然后为该对象调用 createFile。

0 投票
2 回答
2474 浏览

java - 如何在 Apache Commons VFS 中监控文件传输的进度?

使用Apache Commons VFS,我如何监控文件传输的进度。我需要能够通过上传和下载来做到这一点。我还需要监控 HTTP、FTP、SFTP 和 FTPS 的进度。我在文档中找不到任何关于它的内容。

0 投票
2 回答
5630 浏览

java - 如何使用 JCIFS 和 apache VFS 访问 SMB URL?

我正在尝试使用 smb URL 访问本地计算机上的文件夹。我的项目正在使用罐子:commons-vfs2-2.0.jar 和 jcifs-1.3.17.jar(以及所有其他必需的罐子)。完整的代码是:

我收到异常:

线程“主”org.apache.commons.vfs2.FileSystemException 中的异常:无法确定文件“smb://10.0.2.2/TimeOut”的类型。在 org.apache.commons.vfs2.provider.AbstractFileObject.getType(AbstractFileObject.java:505) 在 org.apache.commons.vfs2.provider.AbstractFileObject.exists(AbstractFileObject.java:477) 在 com.newsway.tests.VfsTest .main(VfsTest.java:23) 原因:jcifs.smb.SmbAuthException:登录失败:帐户当前被禁用。在 jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:546) 在 jcifs.smb.SmbTransport.send(SmbTransport.java:663) 在 jcifs.smb.SmbSession.sessionSetup(SmbSession.java:390) 在 jcifs.smb。 SmbSession.send(SmbSession.java:218) 在 jcifs.smb.SmbTree.treeConnect(SmbTree.java:176) 在 jcifs.smb.SmbFile.doConnect(SmbFile.java:911) 在 jcifs。

据我了解,相关部分是:登录失败:帐户当前已禁用。

尽管我的用户/密码/域都很好,而且我正在做的正是 VFS 文档页面中定义的事情,但这仍然是事实。

我错过了什么?

0 投票
1 回答
1641 浏览

java - 无法在 Windows 机器中通过 VFS 下载文件?

我正在使用以下内容从 FTP 服务器下载文件

StandardFileSystemManager -> resolveFile 和 copyFrom(fileobject, Selectors.SELECT_SELF)

本地文件夹是自动创建的,文件已成功下载到 LINUX 机器上。

当我在 windows 机器上执行相同的操作时,我得到了以下异常,因为它是一个相对路径,并且没有提供基本 URI

org.apache.commons.vfs.FileSystemException:找不到具有 URI“/mnt/shared/\test\sample\files\monday\34.csv”的文件,因为它是相对路径,并且没有提供基本 URI。

你能告诉我你的想法和建议吗?

谢谢, 凯瑟尔

0 投票
1 回答
824 浏览

java - 使用 Apache VFS 恢复文件下载

我有一个使用 VFS 通过 FTP 或 SFTP 下载文件的应用程序。当文件很大并且网络连接丢失时,我目前必须重新开始下载。

是否可以使用 VFS 进行可恢复的文件下载?

0 投票
1 回答
1378 浏览

java - StaticUserAuthenticator 未在 VFS2 中设置 FTP 用户名

我正在尝试通过 ApacheVFS2 使用具有 FTP 连接的 StaticUserAuthenticator - 我有以下代码:

这会导致引发以下异常:

org.apache.commons.vfs2.FileSystemException:无法读取文件“ftp://myhost:21/pathtofile.ext”。原因:sun.net.ftp.FtpLoginException:用户匿名:501 使用 user@site 通过代理连接

当我对此运行网络跟踪时,我看到传递给 FTP 服务器的用户 arg 是“匿名”T 10.161.37.176:57650 -> 10.152.4.138:21 [AP] 用户匿名..

知道我做错了什么吗?

0 投票
1 回答
768 浏览

wso2 - VFS 将文件写入不存在的文件夹

我将带有 vfs 的文件写入一个不存在的文件夹。我预计此文件夹会出现异常或创建。但是它们都没有发生,而是创建了一个缺少文件夹名称的文件(至少文件的内容是正确的)。

但是这种行为不是我想要的 - 应该创建一个丢失的文件夹或者应该抛出一个异常。这是我将文件发送到 FTP 的序列示例:

当代理尝试写入文件并且文件夹“myFolder”不存在时,在 myFolder 中存在一个文件名为“myFolder”而不是 filename.txt 的文件,其内容正确。

顺便说一下,本地文件上也存在问题(不是特定于 FTP)

有没有人有这个问题的解决方案?