估计创建一个XML就用DOM对象吧?
然后得到DOM的实例之后怎么把他变成XML文件上传到FTP服务器呢?
(最好不要出现中间的临时文件,而是直接传到FTP服务器,文件名要求指定的)

解决方案 »

  1.   

    这个问题应该是很难的。根据我的经历来看,能不能实现,取决于FTP的类库接口支持。
      

  2.   

    请参考:
    URL url = new  URL(ftp://user01:[email protected]/README.txt;type=i);   
    URLConnection urlc = url.openConnection();
    InputStream is = urlc.getInputStream(); // 下载
    OutputStream os = urlc.getOutputStream(); // 上传
      

  3.   

    这个不好弄啊
    我想半天也不能实现啊
    有个思路
    就是把dom实例字节流,然后变文件流,然后传到ftp服务器上
    不知道能不能实现,楼主试一下吧
      

  4.   

    InputStream的实现类有FileInputStream和ByteArrayInputStream等。
    路线图:Document->String->byte[]->ByteArrayInputStreamimport java.io.ByteArrayInputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.URL;
    import java.net.URLConnection;
    import org.dom4j.Document;public class FTPUtil {  public static boolean uploadXML(String urlString, Document doc) {
        try {
          URL url = new URL(urlString);
          URLConnection uc = url.openConnection();
          OutputStream os = uc.getOutputStream();
          InputStream is = new ByteArrayInputStream(doc.asXML().getBytes("utf-8"));
          byte temp[] = new byte[4096];
          int i;
          while ((i = is.read(temp)) != -1) {
            os.write(temp, 0, i);
          }
          is.close();
          os.close();
          return true;
        } catch (Exception e) {
          e.printStackTrace();
          return false;
        }
      }  public static void main(String[] args) {
        // tod do ...
        Document doc = null;
        String urlString = "ftp://username:[email protected]/temp.xml";    boolean result = FTPUtil.uploadXML(urlString, doc);
        System.out.println("upload is " + (result ? "successfully" : "failed"));
      }}