Если вы хотите прочитать данные с общего URL (например, www.google.com
), вы, вероятно, вообще не хотите использовать DataInputStream
. Вместо этого создайте BufferedReader
и прочитайте построчно с помощью метода readLine()
. Используйте поле URLConnection.getContentType()
, чтобы узнать кодировку содержимого (это понадобится вам для правильного создания читателя).
Пример:
URL data = new URL("http://google.com");
URLConnection dataConnection = data.openConnection();
// Find out charset, default to ISO-8859-1 if unknown
String charset = "ISO-8859-1";
String contentType = dataConnection.getContentType();
if (contentType != null) {
int pos = contentType.indexOf("charset=");
if (pos != -1) {
charset = contentType.substring(pos + "charset=".length());
}
}
// Create reader and read string data
BufferedReader r = new BufferedReader(
new InputStreamReader(dataConnection.getInputStream(), charset));
String content = "";
String line;
while ((line = r.readLine()) != null) {
content += line + "\n";
}