1

我正在研究 IBM 的快速文件 API。现在我是一名前端开发人员,对 Java 知之甚少。

我想知道如何实现他们在开发人员网站上提供的一些示例代码:这是示例代码之一:

这是一个如何使用 API 获取用户列表的示例。该 Java 程序使用 REST 请求获取用户列表,将结果解析为正则表达式,然后将用户总数打印到控制台。

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import org.apache.commons.codec.binary.Base64;


public class QuickFileUserCount {
  public static void main(String[] args) {
  try {
    if (args.length < 4) {
      System.out.println("Usage is java QuickFileUserCount <host> <port> <userid> <password>");
      System.exit(0);
    }
    String quickFileServer   = args[0];
    String quickFilePort     = args[1];
    String quickFileUser     = args[2];
    String quickFilePassword = args[3];
    String quickFileUserQuery = "http://" + quickFileServer + ":" + quickFilePort + "/quickfile/rest/admin/users/0/0";
    URL url = new URL(quickFileUserQuery);
    HttpURLConnection uc = (HttpURLConnection) url.openConnection();
    uc.setRequestMethod("GET");
    uc.setDoInput(true);
    String uidpw = quickFileUser + ":" + quickFilePassword;
    String encodedPassword = Base64.encodeBase64String(uidpw.getBytes()); 
    uc.setRequestProperty("Authorization", "Basic " + encodedPassword);
    InputStream is = uc.getInputStream();
    StringBuffer sb = new StringBuffer();
    int c;
    while ((c = is.read()) != -1) {
      sb.append((char) c);
    }
    String ss = sb.toString();
    String ps = "(.*?)\"totalRows\":(.+?),.*";
    String userCount = ss.replaceAll(ps, "$2");
    System.out.println("\nNumber of QuickFile users on server <" + quickFileServer + "> = " + userCount);       
    uc.disconnect();
  } catch (Exception e) {
      System.out.println("Exception: " + e.getMessage());
    }
  }
}

我是否需要构建一个自定义 APP 才能看到这一点?如果是这样,我该怎么做?由于我是编程新手,我从哪里开始?

我会很感激任何答案

4

2 回答 2

1

我理解“实现”是指您想要获取并运行此示例代码。

每个 Java 文件都包含一个与文件同名的顶级类。在这种情况下,类的名称是QuickFileUserCount,文件应该命名为QuickFileUserCount.java。如果文件顶部有一个“package”语句,那么它将指定文件所在的目录;因为它没有,它会在你的工作目录中。

Java 程序首先调用main某个类的方法。任何类都可以有main方法,因此您指定要开始运行的类。

使这个示例更加复杂的一个细节是import来自 Apache Commons。这告诉 JavaQuickFileUserCount该类使用Base64来自Apache Commons Codec的类。您将需要 Commons Codec 库来编译或运行此示例。

使用诸如 Eclipse 之类的 IDE 来开发 Java 应用程序通常是最简单的,但是对于这个示例的简单试用:

  • 从 Apache 网站下载 Commons Codec 库。解压commons-codec-1.8.jar到一个临时目录。
  • 使用文件名保存示例QuickFileUserCount.java
  • 使用以下命令编译它(您需要安装 Java 开发工具包):

    javac -classpath commons-codec-1.8.jar QuickFileUserCount.java
    

    “类路径”选项告诉 Java 编译器在该 jar 文件中查找 Base64 类。

  • 使用以下命令运行它:

    java -classpath commons-codec-1.8.jar QuickFileUserCount
    

    请注意,您这次不使用“.java”。您应该会看到打印出的使用说明。

于 2013-07-30T19:40:14.550 回答
0

如果您的问题是如何在代码中使用库(或二进制),那么您需要做的就是导入库。

根据您使用的 IDE,这可以通过多种方式完成。

例如,在 Eclipse 中,您可以转到Project > Properties > Java Build Path > Libraries并单击Add External JARs ...。导航到您的 JAR 文件(库),然后单击OK。该库现在应该可以通过您的代码访问其资源,并且您可以像现在拥有的那样运行示例代码。

有很多 IDE。添加库的方式可能因每个库而异。查看相应 IDE 的网站以了解如何导入 Java 库和二进制文件可能会有所帮助。

于 2013-07-30T19:38:05.400 回答