java实现的ftp文件上传例题
1:用http协议上传更适合web编程的方便;传小于1M文件速度要比用ftp协议上传文件略快。安全性好;不像ftp那样;必须要启动一个ftp服务才行。
2:用ftp协议上传文件大于1M的文件速度比http快;文件越大;上传的速度就比http上传快的倍数越大。而且用java编写程序;ftp比http方便。好,废话少说;我们先搭建一个实例来理性认识一下用java编写ftp上传文件的技术。
首先在本机启动一个ftp服务,ftp的用户:"IUSR_ZJH"
密码:"123";随后在ftp主目录下建一个名为upftp的子目录;下面有4个文件就可启动这个例题了。
文件1:MainCtrl.java(servlet文件)内容如下:
import javax.servlet.http.HttpServlet;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import
javax.servlet.ServletException;
import java.io.FileInputStream;
import
java.io.IOException;
import sun.net.TelnetOutputStream;
import
sun.net.ftp.FtpClient;
public class MainCtrl extends HttpServlet
{
private FtpClient ftpClient;
public void
doPost(HttpServletRequest req, HttpServletResponse resp)
throws
ServletException, IOException {
resp.setContentType("text/html;
charset=UTF-8");
try {
//连接ftp服务器
connectServer("127.0.0.1", "IUSR_ZJH", "123",
"upftp");
//上传文件;并返回上传文件的信息
req.setAttribute("inf",
upload(req.getParameter("file_name")));
} catch (Exception e)
{
System.out.println(e.toString());
req.setAttribute("inf",
e.toString());
req.getRequestDispatcher("view_inf.jsp").forward(req,
resp);
return;
} finally {
if (ftpClient != null) {
ftpClient.closeServer();
}
}
req.getRequestDispatcher("view_inf.jsp").forward(req, resp);
}
public void doGet(HttpServletR
相关文档:
java中时间戳和时间字符串之间的转换
获取当前的unix时间戳
new Date().getTime()
System.currentTimeMillis()
返回的是毫秒数,要转换long t = System.currentTimeMillis()/1000;
获取当前年月日以及时分秒
Calendar c = Calendar.getInstance();
c.get(Calendar.YEAR)) c.get(Calendar.YEAR)) c.get(C ......
1、length() 字符串的长度
例:char chars[]={'a','b'.'c'};
String s=new String(chars);
int len=s.length();
2、charAt() 截取一个字符
例:char ch;
ch="abc".charAt(1); 返回'b'
3、getChars() 截取多个字符
void getChars(int sourceStart,int sourceEnd,char tar ......
如果从翻看Thinking in java 这书算起,那我已经看了差不多三个月了,但是事实上真正把花在思考JAVA问题上的时间算下,可真是让自己都有点说不过去。种种理由都充斥着我的神经,但无非都是懒惰者的自我保护的手段,我不得不感慨真的是自己太不上进了。
&nbs ......
1, 保证线程安全的三种方法: a, 不要跨线程访问共享变量b, 使共享变量是final类型的c, 将共享变量的操作加上同步
2, 一开始就将类设计成线程安全的, 比在后期重新修复它,更容易.
3, 编写多线程程序, 首先保证它是正确的, 其次再考虑性能.
4, 无 ......