Java 如何检索以逗号作为分隔符的空格行?

Java 如何检索以逗号作为分隔符的空格行?,java,android,Java,Android,我的game.txt文件中有此记录 menard,menard mabunga,0 francis,francis mabunga,0 angelica,francis mabunga,1 我使用此代码访问文件并将其存储在数组列表中 Scanner s = new Scanner(getResources().openRawResource(R.raw.game)); ArrayList<String> list = new ArrayList<Strin

我的game.txt文件中有此记录

menard,menard mabunga,0 
francis,francis mabunga,0 
angelica,francis mabunga,1
我使用此代码访问文件并将其存储在数组列表中

Scanner s = new Scanner(getResources().openRawResource(R.raw.game));
        ArrayList<String> list = new ArrayList<String>();

        while (s.hasNext()){
            list.add(s.next());
        }
        s.close();
当我尝试使用
System.out.println(randomLine(list))打印randomLine函数的结果时输出仅为
mabunga,0


现在,如何检索以逗号作为分隔符的空格行?

您应该实例化Random ony一次,并存储对它的引用。否则,
nextInt()。使用
nextLine()
而不是
next()
。因此,这应该是您的代码:

Scanner s = new Scanner(getResources().openRawResource(R.raw.game));
ArrayList<String> list = new ArrayList<String>();

while (s.hasNext()){
    list.add(s.nextLine()); // Change here!!
}
s.close();
Scanner s=new Scanner(getResources().openRawResource(R.raw.game));
ArrayList=新建ArrayList();
而(s.hasNext()){
list.add(s.nextLine());//在此处更改!!
}
s、 close();

如果目标是读取行,我更喜欢
BufferedReader
而不是
Scanner

使用
字符串标记器
(或者
流标记器
,如果您想在读取文件时将它们分开)。将分隔符设置为“,”。那你应该没事了

在randomLine函数中,请使用以下代码,而不是您的代码:

public static String randomLine(ArrayList list) {
        return (String) list.get((int)(Math.Random()*list.size()));
    }

谢谢@martjin,后续问题。。。如何排除值为1的行?使用以下命令:
String line=s.nextLine();如果(!line.endsWith(“1”))列表。添加(行)
public static String randomLine(ArrayList list) {
        return (String) list.get((int)(Math.Random()*list.size()));
    }