从windows系统上传文件至linux服务器,Java代码中要怎么处理路径?
Java中可以根据平台来判断路径的分隔符的
通常使用\\或/,也可以使用Fileseparator 一般我在写路径时经常用 /
5取得服务器相对路径
SystemgetProperty("userdir")
例如:E:\apache-tomcat-5516\apache-tomcat-5516\bin
可以百度一下 Java 路径 路径分隔符
这个转换肯定是会出错的,struts 的formFile跟zipFile没有直接关系,怎么能这么强制转化呢?
建议
1 把文件保存到一个临时目录(保存为zip文件)
2 读取这个文件
3 抽取想要的文件
4 把临时文件删除
文件夹传输要用递归循环文件夹里面的内容,遇到一个文件夹就新建一个文件夹,否则新建文件,然后一个一个的用字节流传输(FileInputStream和FileOutputStream),不过这样效率会很低,
上传一般考虑两种办法:1、上传到服务器,数据库中存储服务器上的相对路径;2、转换为二进制流存入到数据库中。现在常用的做法都是选择第一种,因为第二种太占数据库空间,而且查找读取效率不高。很多开源的文件上传框架(比如spring中的commons-fileupload)都是采用第一种方式。上传到服务器不会影响系统的运行速度,你可以选择将的目录建立在非系统盘,存储容量比较大的盘,如F盘等。注意名字不要重复,建议用uuid
一般linux下传输文件到windows,直接用发ftp就行
,具体操作1、在windows下,点开始按钮,选:运行,进入DOS
2、在dos下面输入ftp
19216811(liunx服务器IP地址)然后提示输入,用户名,密码
进入linux服务器的FTP>界面,此时输入binary(binary是安全传输方式)
3、此时输入cd
/usr(用cd命令切换到相应传输目录)
4输入
get
find
(要传输的文件)
搞定
0条评论