采用ftpclient.storeFile(String, Inputstream)将流写到服务器,没报错但服务器上没有文件,这是怎么回事

采用ftpclient.storeFile(String, Inputstream)将流写到服务器,没报错但服务器上没有文件,这是怎么回事,第1张

//创建一个FtpClient对象

FTPClient ftpClient = new FTPClient()

//上传文件 - 读取本地文件 file:需要上传的文件地址

FileInputStream inputStream = new FileInputStream(file)

//将流写到服务器

ftpclient.storeFile(String, inputStream)

其中String为保存后的文件名,inputStream就是上面获取的文件流

向上面说的服务器上没有文件,

1、可能是你String前面加了地址,但是你的ftp服务器中没有这个文件夹导致的,

2、在以有的文件夹下上传保存,在String前面加/文件夹名,

例:ftpClient.storeFile("/***"+String, inputStream)

(多层文件夹时)有的时候你需要给ftp文件夹设置权限(右击文件夹选择属性--安全--编辑--永许完全控制),可以试一试。最好只用当前层文件夹,否则每层都要设置

3、

ftpClient.makeDirectory("/文件名")//创建文件夹

ftpClient.changeWorkingDirectory("/文件名")改变保存路径

这种的最好只用一层文件夹路径

本人彩笔一枚,大佬请喷。喷完了请把解决思路说一下!!!

一般都是生成在项目路径下,很少生成在tomcat路径下的,增加tomcat服务器的负担,

可以通过“ 类名.class.getResource("").getPath()”获取到文件的绝对路径,之后通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:

OutputStreamWriter pw = null//定义一个流

String path = XMLS.class.getResource("").getPath()“

pw = new OutputStreamWriter(new FileOutputStream(path ),"GBK")//确认流的输出文件和编码格式,此过程创建了“test.txt”实例

pw.write("我是要写入到记事本文件的内容")//将要写入文件的内容,可以多次write

pw.close()//关闭流

备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。

有两种方法上传程序到服务器里面。

如果是win系统服务器,那么打开远程桌面,从本地电脑复制文件,到远程桌面服务器里面,粘贴文件,就可以了。

如果有ip地址,ftp账号密码,也可以用 ftp软件上传。

linux服务器的话, 就是直接用ftp软件上传文件了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/791085.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-25
下一篇2023-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存