【问题标题】:Java, how to create new directory in remote host.Java,如何在远程主机中创建新目录。
【发布时间】:2014-01-08 21:49:07
【问题描述】:

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

我试过了,但它不起作用:

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

非常感谢!

【问题讨论】:

  • URL 路径元素不是目录。
  • 您需要向愿意为您执行此操作的服务器端代码发送 HTTP 请求。

标签: java android directory host mkdirs


【解决方案1】:

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

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

【讨论】:

  • 是的,如果您使用 PHP 服务器端,您必须在 PHP 中执行服务器部分。你会遇到的一个问题是,如果你不安全地编程,任何人都可以通过你的 PHP api 创建文件。
【解决方案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 文件夹名称 因此您必须将此命令发送到您的 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 上工作。

【讨论】:

  • 谢谢。我会看看这个
猜你喜欢
  • 1970-01-01
  • 2011-03-09
  • 1970-01-01
  • 2018-02-12
  • 1970-01-01
  • 1970-01-01
  • 2022-12-05
  • 2010-11-23
  • 1970-01-01
相关资源
最近更新 更多