比如:A(java 环境)要操作FTP服务器 B(liunx系统) 上的文件,
从aaa目录 剪切到 aaa/bbb 下,
1.能不能从 A (java 环境中)直接用liunx命令,操作B上的文件了?
2.又该如何连接到liunx 那个用户下呢?
3.如何实现?

解决方案 »

  1.   

    用这个,Runtime.getRuntime().exec("")具体的操作,可以到网上去找一下public static void test() {
    try {
    Process process = Runtime.getRuntime().exec("");
    process.getErrorStream();
    } catch (Exception e) {
    }
    }
      

  2.   

    Runtime.getRuntime().exec("")  这个我知道操作window 下面的命令这个也能具体操作到哪个FTP吗?那么又怎么连接了?谢谢楼上的,请问下,你有没有试过操作到liunx,难道那些liunx 命令直接打在里面就可以了,
    或者直接写一个shell脚本,让他执行,行不行呢?望指点,谢谢啦
    我只能上csnd 哦
      

  3.   


    其实我想,首先在liunx中把用户权限都设好
    在java 中如果能连接到那台服务器,再用这个用户连上去,但这样能实现吗?
      

  4.   

    1.YES
    2.SSH连LINUX(secure shell client),再通过API调用B上的命令.相当于TELNET.
    3.下载SSH的的java 实现, 调用命令呗
      

  5.   

    用户权限你应该会设置吧
    public static boolean test(String filename) {
    try {
    Process myproc = Runtime.getRuntime().exec(
    "scp [email protected]:/data/1.jpg " + filename);
    myproc.getErrorStream();
    return true;
    } catch (Exception e) {
    }
    return false;
    }这个是个copy的例子,
      

  6.   

    权限问题解决以后,就好说了。
    Process process = Runtime.getRuntime().exec("ftp");
    InputStream is = process.getInputStream();
    OutputStream os = process.getOutputStream();
    然后从is里读服务器的响应信息,往os里写入要执行的命令。
    应该可以实现的吧?其实就是做了一个简易的ftp的客户端软件。
      

  7.   

    建议在 Java 中使用 FTP 框架进行操作,比如 Apache Commons Net 包。
      

  8.   

    个人不推荐使用linux命令来控制文件,这样会产生系统安全问题或操作问题,而且可能会有权限限制。像这种问题应该是JAVA直接FTP到服务器,所有文件的操作都通过FTP来实现,这样系统管理和应用程序分离,发生异常时也可以进行相应的处理。
      

  9.   

    其实本来是打算用Apache Commons Net 包来实现 的但一想FTP上文件都在一台机器上,只是根据一些规则移到别的目录中去,如果用流去操作,认为好浪费时间
    ,如果用liunx命令就快些了,但这样确实不好管理,不知道成功还是失败难道一定只能用apache 的包来操作了吗各位有没有更好的办法了,望给思路,谢谢啦
      

  10.   


    楼主知道Linux文件移动和复制的区别吗?文件的移动并非复制+粘贴+删除这个过程,而仅仅是文件信息的修改,说起来也就是几个字节的修改而已。所以如果你单纯是想把一个文件移动到另一个目录下,这个操作很简单很快。这只在同一块硬盘下适用,如果系统有两块以上的硬盘,文件在硬盘间的移动才是复制粘贴。所以一般情况下不用担心费时间的事。
      

  11.   


    感谢你的回答
    其实现在是在一块硬盘上操作文件移动,我说的费时间是指文件在一个盘上,用流去读写,这样会费时间
    不是讲移动费时间,
    如果对于以后可移置性可维护性来讲,是不是用FTP来操作好了
      

  12.   

    csdn回复  论坛 是不是 针对一个帖子 可以回复多少条都可以  不断加分  还是 针对一个帖子只需回复一条