实现Java API示例代码

时间:2013-07-30 19:27:17

标签: java api

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

我想知道我如何实施他们在developers website上提供的一些示例代码:这是示例代码之一: < / p>

  

以下是如何使用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以查看此操作?如果是这样,我该如何解决这个问题呢?由于我是编程新手,我从哪里开始?

我很感激任何答案

2 个答案:

答案 0 :(得分:1)

我理解,通过“实现”,您的意思是您想要获取此示例代码并运行它。

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

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

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

使用Eclipse等IDE来开发Java应用程序通常最简单,但对于此示例的简单试用:

  • 从Apache Web站点下载Commons Codec库。将commons-codec-1.8.jar解压缩到临时目录中。
  • 使用文件名QuickFileUserCount.java保存示例。
  • 使用以下命令编译它(您需要安装Java Development Kit):

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

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

  • 使用以下命令运行它:

    java -classpath commons-codec-1.8.jar QuickFileUserCount
    

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

答案 1 :(得分:0)

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

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

例如,在Eclipse中,您可以转到项目&gt;属性&gt; Java构建路径&gt;图书馆并点击添加外部JAR ... 。导航到您的JAR文件(库),然后单击确定。现在,库应该可以通过代码访问其资源,并且可以像现在一样运行示例代码。

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