java怎么打开FTP服务器上的文件

java怎么打开FTP服务器上的文件,第1张

http的话就用

httpclient

。open后,可以返回一个

InputStream

。这个就是你要读到

文件

原理的话,参考你用浏览器打开这个链接显示的内容。

这个返回的是一个HTML网页,需要你解析出里面的文字(一般来说取body中间的内容就行)

其实对于这种文件一般用FTP来下载的。楼上写的那个不对,哈哈。

需要的话自己最好去查一下,怎么用,我有代码,不过告诉你的话也不太好?

URL

url

=

new

URL("http://你的地址");

URLConnection

connection

=

urlopenConnection();

InputStream

is

=

connectiongetInputStream();

BufferedReader

br

=

new

BufferedReader(new

InputStreamReader(is,"gb2312"));

下面就是解析这个字符串来,自己来吧

这个是可以向服务器端发送文字的程序,就是在客户端发送一句hello在服务器也可以接受到hello,这个程序可以修改一下就可以了。具体修改方法是增加一个定时器,然后把字符流改成字节流,现在有点忙,你先研究啊,近两天帮你写写看。

服务器端:

import javanet;

import javaio;

public class DateServer {

public static void main(String[] args) {

ServerSocket server=null;

try{

server=new ServerSocket(6666);

Systemoutprintln(

"Server start on port 6666");

while(true){

Socket socket=serveraccept();

new SocketHandler(socket)start();

/

PrintWriter out=new PrintWriter(

new OutputStreamWriter(

socketgetOutputStream()

)

);

outprintln(new javautilDate()toLocaleString());

outclose();

/

}

}catch(Exception e){

eprintStackTrace();

}finally{

if(server!=null) {

try{

serverclose();

}catch(Exception ex){}

}

}

}

}

class SocketHandler extends Thread {

private Socket socket;

public SocketHandler(Socket socket) {

thissocket=socket;

}

public void run() {

try{

PrintWriter out=new PrintWriter(

new OutputStreamWriter(

socketgetOutputStream()

)

);

outprintln(

new javautilDate()

toLocaleString());

outclose();

}catch(Exception e){

eprintStackTrace();

}

}

}

客户端:

package combriup;

import javaio;

import javanet;

public class FtpClient {

public static void main(String[] args) {

if(argslength==0) {

Systemoutprintln("Usage:java FtpClient file_path");

Systemexit(0);

}

File file=new File(args[0]);

if(!fileexists()||!filecanRead()) {

Systemoutprintln(args[0]+" doesn't exist or can not read");

Systemexit(0);

}

Socket socket=null;

try{

socket=new Socket(args[1],IntegerparseInt(args[2]));

BufferedInputStream in=new BufferedInputStream(

new FileInputStream(file)

);

BufferedOutputStream out=new BufferedOutputStream(

socketgetOutputStream()

);

byte[] buffer=new byte[10248];

int i=-1;

while((i=inread(buffer))!=-1) {

outwrite(buffer,0,i);

}

Systemoutprintln(socketgetInetAddress()getHostAddress()+" send file over");

inclose();

outclose();

}catch(Exception e){

eprintStackTrace();

}finally{

if(socket!=null) {

try{

socketclose();

}catch(Exception ex){}

}

}

}

}

1使用的FileZillaServer开源,安装过后建立的本地FTP服务器。2使用的apache上FTP工具包,引用到工程目录中。3IDE,Eclipse,JDK6上传和目录的实现原理:对每一个层级的目录进行判断,是为目录类型、还是文件类型。如果为目录类型,采用递归调用方法,检查到最底层的目录为止结束。如果为文件类型,则调用上传或者方法对文件进行上传或者操作。贴出代码:(其中有些没有代码,可以看看,还是很有用处的)!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » java怎么打开FTP服务器上的文件

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情