Java InputStreamReader, различный вывод на Mac и Linux
Я пытаюсь заставить это работать на Mac, он отлично работает на Linux.
public class URLTest {
public static void main(String[] args) {
try{
String webpage="Insert random webpage here";
InputStream in = new URL(webpage).openConnection().getInputStream();
InputStreamReader reader = new InputStreamReader(in);
while(reader.ready())
System.out.print((char)reader.read());
}catch (IOException e){
;
}
}
На Mac я просто получаю числа в качестве вывода, а на Windows я ничего не получаю. Любая идея, чтобы это работало на всех системах?
ура
1 ответ
Решение
У вас должен быть определен набор символов, в противном случае он будет загружен в набор символов по умолчанию для платформы, который отличается для разных платформ и языков.
Попробуйте это, чтобы прочитать в UTF-8:
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
public class URLTest {
public static void main(String[] args) {
try {
String webpage = "Insert random webpage here";
InputStream in = new URL(webpage).openConnection().getInputStream();
InputStreamReader reader = new InputStreamReader(in, "UTF-8");
while (reader.ready())
System.out.print((char) reader.read());
} catch (IOException e) {
e.printStackTrace();
}
}
}