Java URL连接StreamReader问题阅读结果

时间:2015-08-29 23:37:59

标签: java bufferedreader urlconnection inputstreamreader

在将信息发布到网页后阅读回复时,我遇到了一个奇怪的问题。控制台打印"成功"但检查在代码中失败,并且在检查发生时最终返回false而不是true。

这个页面的php脚本如下:

<?php
    echo "success";
?>

最终它会接收发布的信息,但是现在我只想将它用于我的应用程序,看看它是否可以连接到它的目标。

public static boolean checkConnect(String cURL) {
    try{
        URLConnection connect = new URL(cURL).openConnection();
        connect.setDoOutput(true);
        connect.setRequestProperty("Accept-Charset", charset);
        connect.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + charset);

        OutputStreamWriter wr = new OutputStreamWriter(connect.getOutputStream());
        wr.write("this is a test");
        wr.flush(); 
        // Get the response 
        BufferedReader rd = new BufferedReader(new InputStreamReader(connect.getInputStream())); 
        String line; 
        String results = "";
        while ((line = rd.readLine()) != null) {
            results += line;
        } 

        //prints "success" to console.
        System.out.println(results.trim());

        //fails
        if (results.trim() =="success")
            return true;
        wr.close(); 
        rd.close(); 
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return false;

}

1 个答案:

答案 0 :(得分:0)

在Java中,String是一个对象。 要比较一个String,你必须使用equals方法。

If(results.trim().equals("success")){}