Как я могу получить текст из Интернета и войти в массив? - PullRequest
2 голосов
/ 12 декабря 2011

Я хочу скопировать http://docs.oracle.com/javase/tutorial/collections/interfaces/examples/dictionary.txt в массив для игры палача. У меня есть это до сих пор ..

url = new URL("http://docs.oracle.com/javase/tutor… );
urlConn = url.openConnection();
urlConn.getInputStream());

inStream in = new InputStreamReader("dictionary.txt");
urlConn.getInputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(in));

String nextLine;
String[] secretwordbank;
secretwordbank = new String[80368];

secretwordbank - это массив, представляющий словарь слов. Это может быть слишком большой массив, поэтому я открыт для идей по его оптимизации. Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

1 голос
/ 12 декабря 2011

Используйте этот Java-код для построения списка слов:

URL url = new URL("http://docs.oracle.com/javase/tutorial/collections/interfaces/examples/dictionary.txt");
URLConnection urlConn = url.openConnection();
InputStream in = urlConn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String nextLine;
List<String> secretwordbank = new ArrayList<String>();

while ((nextLine = br.readLine()) != null) {
    secretwordbank.add(nextLine);
}
System.out.println("Secret Word List: " + secretwordbank);

Редактировать: Если вы ищете array of String вместо List<String>

String[] wordBankArr = secretwordbank.toArray(new String[0]);
System.out.println("Secret Word Array: " + Arrays.toString(wordBankArr));
1 голос
/ 12 декабря 2011

Вы действительно просто не знаете, как преобразовать BufferedReader в массив (или другую коллекцию) строк на основе переносов строк?Если это так, я бы предложил использовать Guava :

List<String> lines = CharStreams.readLines(reader);

(Кроме того, я бы предложил указать кодировку при создании InputStreamReader - в противном случае будет использоваться платформа по умолчанию).кодирование. В идеале вы должны использовать заголовок типа содержимого из ответа, чтобы определить кодировку ... существуют высокоуровневые библиотеки HTTP, которые сделают все это за вас, например, HttpClient .)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...