我正在使用 PHP 脚本通过 java 程序访问我的数据库。如果脚本成功运行并且电子邮件已发送,PHP 脚本将发送电子邮件并打印。 java程序使用:
InputStream in = null;
try {
httpPost.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse response = httpclient.execute(httpPost);
in = response.getEntity().getContent();
String inn = in.toString();
} catch (IOException e) {
}
String result = null;
String sent = "sent";
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(in,"iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
sb.append(line);
in.close();
result = sb.toString();
为了获取 PHP 脚本打印的内容。使用 Log 我知道当 PHP 脚本成功运行时,正在返回“已发送”,并且变量“结果”的值为“已发送”。 现在在 java 文件中我尝试执行以下操作:
Log.e("result",result); <-- returns sent
if(result.equals("sent"))
{
... do something
}
我尝试了几种不同的方法,但无论我尝试以哪种方式比较“结果”与“发送”,它总是失败。 如果有人知道为什么会发生这种情况,我将不胜感激任何建议。我确信这很愚蠢,但我认为这与 PHP 没有完全返回我认为的内容有关,即使 Log 显示它是这样的。
最佳答案
也许可以尝试一下:
result.toString().equalsIgnoreCase("sent")
你还可以这样做:
Log.e("result",result);
System.out.println( "!" + result.toString() + "!" );
if(result.equals("sent"))
{
System.out.println( "Success" );
}
关于java - 从 PHP 脚本返回到 java 程序的字符串无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10214758/