站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题文件的上传,求代码

文件的上传,求代码

摘要: 文件的上传,求代码


要求在客户端运行一个普通的类,把本机的D盘根目录下的test.xml文件上传到服务器,不能通过网页,没有点击事件,也不能通过SERVLET,就是通过一个MAIN方法.


建 一个socket就行了,也可以用ftp等实现,用socket可以实现最大的灵活性,完全自己控制


能给点代码吗


使用 socket,
http://dev.csdn.net/develop/article/27/27115.shtm


有思路要自己做啊,全用人家给的代码有什么意思啊,不熟api的话,知道要用哪些就去查帮助


如果用SOCKET的话,服务器端和客户端是不是都要运行一个服务,现在要求服务器端只运行TOMCAT类的服务,没有SOCKET服务端的代码在运行.


把 MyServer.class 放到 tomcat 下,就可以啦


放到下面就能自动运行吗


放到下面就能自动运行吗
-- 那当然不会啦,你需要手工启动


如果运行tomcat的话,可以启一个socket,随便在一个加载启动的过滤器或servlet中调用 一下socket的开始方法就行了


那不太适合这个系统


那如果有ftp的话也可以,否则没服务器端你怎么上传啊


如果用SOCKET的话,服务器端和客户端是不是都要运行一个服务
-- 服务器端和客户端各需要运行一个程序,。SOCKET和使用什么 Web 服务器无关。


在一个类里面怎么调用一个网页.这个问题能解决的话就可以了.


用urlconnection类


用FTP也可以
import java.lang.*;
import java.net.*;
import java.io.*;
import sun.net.*;
import sun.net.ftp.*;

public class Ftp
{
FtpClient ftpClient;

//--------------------------------------------------------------------------
public void upload(String filepathname)//filepathname文件名用-#39;/-#39;格?
{
byte[] bytes=new byte[1024];
int count;
try{

String fg = new String(-#34;/-#34;);
int index = filepathname.lastIndexOf(fg);
String filename= filepathname.substring(index + 1);
System.out.println(filepathname);

System.out.println(-#34;0000000000000000-#34;);
RandomAccessFile sendFile = new RandomAccessFile(filepathname, -#34;r-#34;);
System.out.println(-#34;1111111111111-#34;);
sendFile.seek(0);
System.out.println(-#34;222222222-#34;);
System.out.println(filename);
TelnetOutputStream os=ftpClient.put(filename);
System.out.println(-#34;3333333333333-#34;);
while((count=sendFile.read(bytes))!=-1){
os.write(bytes);
}

sendFile.close();
os.close();
System.out.println(-#34;文件上?成功!!!-#34;);
}

catch (IOException e) {
System.out.println(-#34;文件上?失?!!!-#34;);
}
}

//----------------------------------------------------------------------
public void download(String filename)
{
byte[] bytes=new byte[1024];
int count;
try{

RandomAccessFile downFile = new RandomAccessFile(filename, -#34;rw-#34;);
downFile.seek(0);
TelnetInputStream is =ftpClient.get(filename);
while ((count=is.read(bytes)) != -1)
{
downFile.write(bytes,0,count);
}
is.close();
downFile.close();
System.out.println(-#34;文件下?成功!!!-#34;);
}

catch (IOException e) {
System.out.println(-#34;文件下?失?!!!-#34;);
}
}


public Ftp()
{
String server=-#34;192.168.1.233-#34;;
String user=-#34;Administrator-#34;;
String password=-#34;1234-#34;;
String filename=-#34;d:/download/test2.xls-#34;;

try{
ftpClient=new FtpClient();
ftpClient.openServer(server);
ftpClient.login(user,password);
ftpClient.binary();
System.out.println(-#34;?接ok!-#34;);
//upload(filename);
download(-#34;test2.xls-#34;);
ftpClient.closeServer();
}
catch(FtpLoginException e){

System.out.println(-#34;无?限与主机:?接!-#34;);
}
catch (IOException e){

System.out.println(-#34;?接主机失?!-#34;);
}
catch(SecurityException e)
{
System.out.println(-#34;无?限与主机:?接!-#34;);
}
}
public static void main(String[] args)
{
Ftp aftp=new Ftp();

}
}



↑返回目录
前一篇: 知道一个机器的IP地址,想修改他的D盘下的XML文件,应该怎么做,求代码
后一篇: 在服务器端有个文件正在下载,现在想把他删除,可是报错文件正在使用.应该怎删除