Apache Vfs Ftp 协议上传文件遇到的坑

本地文件监听和修改写完后,尝试监听和修改 Ftp 上的文件,于是将文件路径修改如下

@Test
	public void testCreate() throws IOException {
		FileSystemManager manager = VFS.getManager();
		FileObject fileObject = manager.resolveFile("ftp://admin:admin@127.0.0.1:2121/dict/ekoz.txt");
		IOUtils.write("ekoz", fileObject.getContent().getOutputStream());
		IOUtils.closeQuietly(fileObject);
	}

报错是

由于能拿到 fileObject 的内容,所以思考的方向一直都是文件无读取权限

FileObject fileObject = manager.resolveFile(stopwordsFilepath);
String content = IOUtils.toString(fileObject.getContent().getInputStream(), Charsets.UTF_8);

直到偶然调用了 FtpFileSystemConfigBuilder.getInstance(); 才发现缺少 commons-net 包,引入后就能写入正常数据。

<!-- https://mvnrepository.com/artifact/commons-net/commons-net -->
		<dependency>
		    <groupId>commons-net</groupId>
		    <artifactId>commons-net</artifactId>
		    <version>3.6</version>
		</dependency>

所需版本依赖详见:http://commons.apache.org/proper/commons-vfs/download.html

注意:IOUtils.closeQuietly(fileObject); 如果不调用,则数据无法写入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值