Chinaunix

标题: 一个关于用java编写ftp下载程序出现的问题 [打印本页]

作者: vincentzj    时间: 2004-07-20 23:00
标题: 一个关于用java编写ftp下载程序出现的问题
我是一个java小猫,出于工作需要用java编写了一段用于ftp上载或者下载文件的程序,但是不知道为什么,我调用ftpclient的 ascii()方法来讲传输模式改为文本模式,但是好像根本没有起作用,用记事本打开用程序下载的文本文件,发现从ftp server上下载的文件的换行符都变成了黑色的方块,且都没有换行,但在命令行用ftp命令就没有这个现象,在网上找俩n多资料,都没有找到答案,请各位棒棒忙阿~  偶现在这里谢谢了
程序如下,请指教:
import sun.net.ftp.*;
import sun.net.*;
import java.io.*;
import java.lang.*;


public class  ftp
{
        public static void main(String[] args)
        {
                try
                {
                        FtpClient ftp = new FtpClient("192.168.1.10",21);
                        ftp.login("admin","admin";
                        ftp.ascii();
                        RandomAccessFile getfile = new RandomAccessFile("a.ini","rw";
                        getfile.seek(0);
                        TelnetInputStream ins = ftp.get("a.ini";
                        DataInputStream datain = new DataInputStream(ins);

                        int ch;
                        while((ch = datain.read())>;=0)
                        {
                                getfile.write(ch);
                        }

                        ins.close();
                        getfile.close();
                        ftp.closeServer();

                }
                catch(Exception e)
                {
                        System.out.println(e.toString());
                }
        }
}
作者: lonemoon    时间: 2004-07-21 10:02
标题: 一个关于用java编写ftp下载程序出现的问题
我对这个不很熟,但是我想肯定是转换格式的问题。
有没有这种方法:ftp.binary();
就是将其转换为二进制然后在用ftp下载?
作者: vincentzj    时间: 2004-07-21 20:37
标题: 一个关于用java编写ftp下载程序出现的问题
ftpclient 有binary的方法,
我昨晚后来试试看,发现每次在读入一个换行符号'\n'的时候,就向文件中写入
'\r' '\n'两个符号,这样生成的文件就是一样的,就是说把ftp server上文件中的换行在java中要用换行和回车两个符号来代替.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2