0

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

我试过这个但它不起作用:

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

太感谢了!

4

2 回答 2

3

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

然后您可以将确认发送回您的客户

于 2014-01-08T21:53:56.050 回答
2

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

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

将打开一个与主机 mirror.csclub.uwaterloo.ca 的 ftp 连接,请求一个名为 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 上工作。

于 2014-01-08T21:52:46.557 回答