Java,如何在远程主机中创建新目录。

时间:2014-01-08 21:49:07

标签: java android directory host mkdirs

我正在使用Android应用。 如何在java中的远程主机中创建新目录?

我尝试了这个,但它不起作用:

String newFolder = "http://www.mysite.it/public/newfolder";
File outFile = new File(newFolder); 
if(!outFile.exists()){   
  boolean b = outFile.mkdirs();
}

非常感谢你!

2 个答案:

答案 0 :(得分:3)

不能这样做。您需要向服务器发送命令并从服务器创建目录。

然后您可以向客户发送确认

答案 1 :(得分:2)

首先:文件夹是远程的。 使用File时,您正在访问本地文件系统。 要连接到远程主机,您需要URLConnection,HTTPUrlConnection或套接字。 因此,使用您的字符串构造的文件将不代表有效文件。 在远程主机上创建文件夹需要使用ssh或ftp等协议。 举个例子:

URL url = new URL("ftp://mirror.csclub.uwaterloo.ca/index.html");
URLConnection urlConnection = url.openConnection();

会打开一个ftp - 连接到主机mirror.csclub.uwaterloo.ca,请求一个名为index.html的文件。

命令行ftp客户端可以将用于创建文件夹的命令发送到远程主机,例如

ftp anonoumos@somehost.com  #mkdir folderName 所以你必须将此命令发送到你的ftp主机。对于ssh,它基本上是相同的程序。

但两者都需要一个基本的客户端。 Java World中有现成的解决方案,但我不知道Android的任何解决方案。 因此,虽然通过ftp将文件上传到主机非常简单,(看一下这个例子http://www.codejava.net/java-se/networking/ftp/upload-files-to-ftp-server-using-urlconnection-class),通过ftp发送命令似乎是一项复杂得多的任务。 org.apache.commons.net.ftp.FTPClient例如支持通过它的doCommand - 方法发送命令,但我不知道你是否让它在android上工作。