Java 如果url页面为空,则返回另一个字符串
如果我试图阅读空白网页,我将如何返回默认字符串Java 如果url页面为空,则返回另一个字符串,java,Java,如果我试图阅读空白网页,我将如何返回默认字符串 private void setVersion(String input) { try { URL url = new URL(input); BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); String getInfo;
private void setVersion(String input) {
try {
URL url = new URL(input);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String getInfo;
while ((getInfo = in.readLine()) != null) {
Console("[setVersion Length]" + getInfo.length());
dModVersionList.addElement(getInfo);
}
} catch (Exception e) {
dModVersionList.addElement("Unknown");
e.printStackTrace();
}
}
我想添加元素,即使while循环返回null,如果页面不再存在,我也可以处理它
String getInfo;
// set initially to false
boolean found = false;
while ((getInfo = in.readLine()) != null) {
found = true; // found some data; set to true
Console("[setVersion Length]" + getInfo.length());
dModVersionList.addElement(getInfo);
}
// still false; add your specific element
if (!found)
dModVersionList.addElement("no data");
像这样的方法可以奏效:
String getInfo;
// set initially to false
boolean found = false;
while ((getInfo = in.readLine()) != null) {
found = true; // found some data; set to true
Console("[setVersion Length]" + getInfo.length());
dModVersionList.addElement(getInfo);
}
// still false; add your specific element
if (!found)
dModVersionList.addElement("no data");
试试看
while (true) {
Console("[setVersion Length]" + getInfo.length());
getInfo = in.readLine();
if(getInfo.equals("exit")
break;
dModVersionList.addElement(getInfo);
}
试试看
while (true) {
Console("[setVersion Length]" + getInfo.length());
getInfo = in.readLine();
if(getInfo.equals("exit")
break;
dModVersionList.addElement(getInfo);
}
如果您的
while
循环返回null
,意味着它不会进入您的循环
,因此在您的循环之后,您可以执行null
检查getInfo
,然后设置您想要的任何字符串,您可以执行以下操作
//local variable should be initialised.
String getInfo = null;
while ((getInfo = in.readLine()) != null) {
Console("[setVersion Length]" + getInfo.length());
dModVersionList.addElement(getInfo);
}
if(getInfo == null){
dModVersionList.addElement("Web page returns empty");
}
如果您的while
循环返回null
,意味着它不会进入您的循环
,因此在您的循环之后,您可以执行null
检查getInfo
,然后设置您想要的任何字符串,您可以执行以下操作
//local variable should be initialised.
String getInfo = null;
while ((getInfo = in.readLine()) != null) {
Console("[setVersion Length]" + getInfo.length());
dModVersionList.addElement(getInfo);
}
if(getInfo == null){
dModVersionList.addElement("Web page returns empty");
}
对你来说什么是空白网页,隐藏文本的网页是空白的?对你来说什么是空白网页,隐藏文本的网页是空白的?太棒了,谢谢这一个可能被证明是有效的。。。到目前为止:)谢谢你的帮助,很高兴知道。您能否将此答案标记为已接受,以帮助此页面上的未来访问者。非常感谢此答案可能会被证明有效。。。到目前为止:)谢谢你的帮助,很高兴知道。您能否将此答案标记为已接受,以帮助此页面上的未来访问者。getInfo
的初始值当然为空,但我认为最好的编码实践是专门将其初始化为空。所以我建议不要这样做。另请参见@tmn29a仅实例
变量将被分配默认值
,对于字符串,它将是null
,而局部变量没有初始化
,代码将不会被编译。因此,除了good practice
,它甚至不允许您在不初始化的情况下运行。getInfo
的初始值当然是空的,但我认为更好的编码实践是专门将其初始化为空。所以我建议不要这样做。另请参见@tmn29a仅实例
变量将被分配默认值
,对于字符串,它将是null
,而局部变量没有初始化
,代码将不会被编译。因此,除了良好实践
,它甚至不允许您在没有初始化的情况下运行。