Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何解析txt web服务_Java_Web Services - Fatal编程技术网

Java 如何解析txt web服务

Java 如何解析txt web服务,java,web-services,Java,Web Services,我试图从java程序中的web服务中获得一个结果。我以前做过xml服务,但这次是基于文本的,我不知道如何记录响应 以下是Web服务: 谢谢 如果它只是文本,而您不使用任何标准格式(如SOAP),则需要使用套接字: URL myURL = new URL("http://ws.geonames.org/countryCode?lat=47.03&lng=10.2"); URLConnection serviceConnection = myURL.openConnection(); Buf

我试图从java程序中的web服务中获得一个结果。我以前做过xml服务,但这次是基于文本的,我不知道如何记录响应

以下是Web服务:


谢谢

如果它只是文本,而您不使用任何标准格式(如SOAP),则需要使用套接字:

URL myURL = new URL("http://ws.geonames.org/countryCode?lat=47.03&lng=10.2");
URLConnection serviceConnection = myURL.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
                               serviceConnection.getInputStream()));

List<String> response =new ArrayList<String>();
或者,如果您只有一行(如您问题中的Web服务),请使用此选项:

并以以下内容结束:

serviceConnection.close();

在我的例子中,countryCode是“AT”

URL之外的另一种实现是使用HttpClient。

REST服务使用什么实现?Jersey?典型的结果是什么?您希望得到什么?它将返回两个字母的国家代码,这就是我需要的。
String countryCode = in.readLine();
serviceConnection.close();
public class CountryCodeReader {

    private String readAll(Reader rd) throws IOException {
        StringBuilder sb = new StringBuilder();
        int cp;
        while ((cp = rd.read()) != -1) {
            sb.append((char) cp);
        }
        return sb.toString();
    }

    public String readFromUrl(String url) throws IOException, JSONException {
        InputStream is = new URL(url).openStream();
        try {
            InputStreamReader is = new InputStreamReader(is, Charset.forName("UTF-8"))
            BufferedReader rd = new BufferedReader(is);

            return readAll(rd);
        } finally {
            is.close();
        }
        return null;
    }

    public static void main(String[] argv) {
        CountryCodeReader ccr = new CountryCodeReader(); 
        String cc = ccr.readFromUrl("http://ws.geonames.org/countryCode?lat=47.03&lng=10.2");
    }

}