javaftp文件大小
❶ 问个关于java ftp上传文件的问题,用java写好的FTP上传东西如果文件小的话是没问题的,比如说文件上9G了。
在web的服务器端,再使用ftp上传9G的文件到别的地方?怎么可能不超时呢!除非是1000兆的网络、FTP的速度也非常快
另写一个后台运行的程序、线程专门上传。
❷ java ftp上传5G以上大文件,怎么做
java上传可以使用common-fileupload上传组件的。common-fileupload是jakarta项目组开发的一个功能很强大的上传文件组件下面先介绍上传文件到服务器(多文件上传):import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.util.regex.*;
import org.apache.commons.fileupload.*;
public class upload extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out=response.getWriter();
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置允许用户上传文件大小,单位:字节,这里设为2m
fu.setSizeMax(2*1024*1024);
// 设置最多只允许在内存中存储的数据,单位:字节
fu.setSizeThreshold(4096);
// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
fu.setRepositoryPath("c:\\windows\\temp");
//开始读取上传信息
List fileItems = fu.parseRequest(request);
// 依次处理每个上传的文件
Iterator iter = fileItems.iterator();//正则匹配,过滤路径取文件名
String regExp=".+\\\\(.+)$";//过滤掉的文件类型
String[] errorType={".exe",".com",".cgi",".asp"};
Pattern p = Pattern.compile(regExp);
while (iter.hasNext()) {
FileItem item = (FileItem)iter.next();
//忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
Matcher m = p.matcher(name);
boolean result = m.find();
if (result){
for (int temp=0;temp if (m.group(1).endsWith(errorType[temp])){
throw new IOException(name+": wrong type");
}
}
try{//保存上传的文件到指定的目录//在下文中上传文件至数据库时,将对这里改写
item.write(new File("d:\\" + m.group(1))); out.print(name+" "+size+"
");
}
catch(Exception e){
out.println(e);
} }
else
{
throw new IOException("fail to upload");
}
}
}
}
catch (IOException e){
out.println(e);
}
catch (FileUploadException e){
out.println(e);
}
}
}
❸ 用java怎么判断FTP上的文件大小改变了
日志目录:
已经架设了一个IIS下的FTP服务器,应该如何查看连接日志?
答:利用IIS架设的FTP服务器不能实时看到连接的具体情况,不过可以在C:\Winnt\system32\logfiles目录中查看到连接上FTP服务器的IP地址、时间等日志信息。
如何开启日志:
在默认FTP站点属性对话框中,切换到“FTP站点”标签页,一定要确保“启用日志记录”选项被选中,这样就可以在“事件查看器”中查看FTP日志记录了。
我感觉,这种方法也不是实时的,你只是将轮询文件变成了轮询日志,一样的感觉。
你如果想变成实时的,就是说文件大小一发生改变就通知你。我想到的办法是这样的。
你再做一个系统,这个系统可以较大频率的去轮询日志或者文件,因为这个系统可以架设在别的机器上,所以不会影响你系统的性能。然后在你系统中建立一个webservice,提供下载那个文件的服务,当那个系统发现更改时调用你的webservice,你就可以下载了。
我觉得这只是一种折中的办法,而且也比较费事,如果没有实时的要求,还是定时轮询的好。
PS:
实话说不知道你为什么要检验文件的大小,有时内容改变不一定大小会变得。
你可以记录文件上一次的修改时间。然后当这个发生改变时再取就是了。
❹ java代码ftp.storefile传送文件,文件太大为什么会突然终止
可能是你的电脑文件系统,FAT32只支持4G以下,
❺ java在用ftpclient上传音频文件时,出现上传的文件大小发生改变,不能播放!
没上传完整,先检查完整性
❻ 用JAVA基于FtpClient类开发时有没有对上传文件时发送数据大小的限制的接口
这个是client程序,所以,你写程序时,判断文件大小、自己限制大小即可
❼ 看了一段java代码是从FTP上下载文件,ftpClient.setBufferSize()这个是什么用处,要怎么使用它
缓冲区大小,等从ftp下载的数据存储到缓冲区,等缓冲区满了,进行磁盘读写。
❽ java从FTP上下载文件大小大概10M左右,ftpClient.setBufferSize(1024)要设置多大的呢
几k到1m 这个是临时的缓冲
❾ java做一个FTP下载器,怎么获取服务器上的文件及文件夹,以及他们的属性,如文件名,时间,大小
在FTP中有FTPClient和FTPFile两个类,里边提供了相应的方法!你可以去试一下!