try{
url = new URL(urls[0]);
connection = (HttpURLConnection) url.openConnection();
connection.connect();
InputStream in = connection.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
int data = reader.read();
while(data != -1){
char ch = (char) data;
result+=ch;
data = reader.read();
}
return result;
}catch(Exception e){
e.printStackTrace();
return null;
}
谁能解释一下这段代码的功能吗?因为我不明白为什么我们在这里使用整数来存储流值以及 while 循环在这里如何工作。
最佳答案
根据 InputStreamReader 文档 here ,read()
返回一个整数值“读取的字符,如果已到达流末尾,则返回 -1”。这意味着 read()
一次读取一个字符,如果返回值为 -1,则意味着我们已到达流的末尾,并且循环条件现在为 false 并退出.
关于java - 输入流和输入流读取器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60099321/