JAVA 把文件传到服务器.......
文件上传到A以后 放到服务器上面 然后他就有一个绝对的访问路径 也就是对应一个绝对的url 这样就好办了
Java提供了对URL访问和大量的流操作的的API,可以很容易的完成对网络上资源的存取,下面的代码段就完成了对一个网站的资源进行访问:
destUrl="http://wwwyourwebcom/java/Afilezip";
//假设你把文件放到webroot底下的java文件里面
url = new URL(destUrl);
httpUrl = (HttpURLConnection) urlopenConnection();
//连接指定的网络资源
httpUrlconnect();
//获取网络输入流
bis = new BufferedInputStream(httpUrlgetInputStream());
得到流后下面你自己想怎么操作就怎么操作了
对于怎么得到资源的连接地址这个方法很多 你可以专门提供一个Servlet 获取到输出的流后 Responsewrite转门提供服务器已上传的文件 文件名可以一天位单位返回
客户端用与上面同样的方法得到文件名后 拆分 然后再继续循环调用上面的方法 下载文件就ok了
呵呵 希望可以帮助到你
这里你弄错了一个问题;\x0d\你的程序是要传递的二进制数据\x0d\而不是传递路径,然后再到服务器读取文件数据(你的服务器有这个文件)\x0d\只有当你的服务器下有这个文件了,你传递一个路径,读取是可以的\x0d\//---\x0d\关于如何上传文件, 自己google一下,很多教程
如果服务器开通了ftp服务,你的客户端可以实现一个ftp的客户端,通过ftp服务将文件上传到服务器的指定目录下,可以使用orgapachecommonsnetftpFTPClient这个类去实现,非常的简单,网上有很多现成的代码可以用
try {
sftpcd(directory);
} catch (SftpException sException) {
if (sftpSSH_FX_NO_SUCH_FILE == sExceptionid) {// 如果文件夹不存在,则进行新建
sftpmkdir(directory);
sftpcd(directory);
}
}
用这个就可以解决sftp服务目录不存在问题
如果你的JAVA部署的tomcat,就是你要查找文件的服务器,那就用:
File file = new File("文件路径")。
如果你本地的JAVA想要访问远程的一个服务器的文件是否存在,就得用如下方法:
URL url = new URL(“文件路径:可以是本地服务器的路径,也可以是远程服务器的路径”)
HttpURLConnection urlcon = (HttpURLConnection) urlopenConnection();
//message = urlcongetHeaderField(0);
//文件存在‘HTTP/11 200 OK’ 文件不存在 ‘HTTP/11 404 Not Found’
Long TotalSize=LongparseLong(urlcongetHeaderField("Content-Length"));
if (TotalSize>0){
return true;
}else{
return false;
}
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
服务器端写个servlet,然后在doPost()方法里处理客户端上传的文件,大概代码:DiskFileItemFactory factory = new DiskFileItemFactory();factorysetSizeThreshold(1024 1024); // 设置最多只允许在内存中存储的数据, 单位:字节factorysetRepository(cachepath); // 设置一旦文件大小超过设定值时数据存放的目录 ServletFileUpload srvFileUpload = new ServletFileUpload(factory);srvFileUploadsetSizeMax(1024 1024 1024); // 设置允许用户上传文件大小, 单位:字节// 开始读取上传信息List fileItems = null;try { fileItems = srvFileUploadparseRequest(request);} catch (Exception e) { Systemoutprintln("获取上传信息。。。。。。失败");}// 依次处理每个上传的文件Iterator iter = fileItemsiterator(); while (iterhasNext()) { FileItem item = (FileItem) iternext(); // 忽略其他不是文件域的所有表单信息 if (!itemisFormField()) { // 取出文件域的所有表单信息 } else { // 取出不是文件域的所有表单信息 }}
0条评论