6
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str
while ((str =in.readLine()) != null)
{
     items = str.split("\n");
}
in.close();

文字列 (str) には、次のようなテキスト ファイルからのデータが含まれます。

1月

2月

行進

各単語は新しい行にあります。文字列を読み取り、各単語を新しい行に区切り、文字列オブジェクトの配列に格納します (これは「items」という名前の変数になります)。

4

7 に答える 7

12

実際には、BufferedReader.readLine すでに改行に基づいて入力を分割しています。

だから、あなたが現在持っている場所:

items=str.split("\n");

str配列に追加するだけです。

たとえば、次のinfileファイルを保持している場合:

January
February
March
April
May
June

次のプログラム出力6(作成された配列リストのサイズ):

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
class Test {
    public static void main (String[] args) {
        try {
            ArrayList<String> itms = new ArrayList<String> ();
            BufferedReader br = new BufferedReader (new FileReader ("infile"));
            String str;
            while ((str = br.readLine()) != null)
                itms.add(str);
            br.close();
            System.out.println (itms.size());
        } catch (Exception e) {
            System.out.println ("Exception: " + e);
        }
    }
}
于 2012-08-14T05:42:14.087 に答える
2

メソッドはreadLineすでに行ごとに読み取ります。この文字列には文字はありません\n

代わりにこれを試してください:

ArrayList<String> itemList = new ArrayList<String>();
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
    itemList.add(str);
}
in.close();
于 2012-08-14T05:42:53.847 に答える
0

これに使用Arraylistします。

ArrayList<String> items= new ArrayList<String>();

BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str =in.readLine()) != null)
{
    items.add(str.split("\n"));
}
in.close();

=====>確認中

 for(int i=0;i<items.size;i++)
 {
    System.out.println("item name "+items.get(i));
 }
于 2012-08-14T05:45:23.143 に答える