【发布时间】:2014-05-02 13:22:22
【问题描述】:
嗨,我正在尝试读取一个 url,我正在获取一个字符串,我正在控制台上打印该字符串,但我想逐字节读取该 url,但我不知道如何读取
这是我的 ReadTextFromURL
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
public class ReadTextFromURL {
public static void main(String[] args) {
try {
URL url = new URL("http://122.160.81.37:8080/mandim/MarketWise?m=agra");
ByteArrayOutputStream bais = new ByteArrayOutputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
int lin;
while ((lin = in.read()) != -1) {
System.out.println(lin);
}
in.close();
} catch (MalformedURLException e) {
System.out.println("Malformed URL: " + e.getMessage());
}catch (IOException e) {
System.out.println("I/O Error: " + e.getMessage());
}
}
}
想要的输出
धान~1325|चावल~2050|ज्वर~920|जौ~810|मकई~1280|गेहूँ~1420|जो~1050|बेजर~-|जय~800
获取输出
2343
2366
2344
126
49
51
50
53
124
2330
2366
2357
2354
126
50
我怎样才能得到我想要的输出?
【问题讨论】:
-
您的预期输出是什么,您当前的输出是什么?
-
预期输出是逐字节读取字符串
-
您是否尝试过
in.read(),它返回int(byte)? -
我使用了 in.read() 然后给出了可比较类型 int 的错误消息:
-
嗯,
-1是您用尽输入后返回的结果。不是null。int值永远不能是null。