将文本文件中的行读入数组



我想在每次有人启动应用程序时随机显示一个新的报价。为了做到这一点,我正在考虑使用包含所有报价的文本文件,每行一个。

我想知道在android工作室我应该把我的文本文件,然后我怎么能读取这个文本文件,并把每一行数组?

我发现这段代码看起来使工作,但它似乎不工作:

// set up variables
String fileName = "MyFriends.txt";
String line;
ArrayList aList = new ArrayList();
//Read the lines of text into an ArrayList
try {
BufferedReader input = new BufferedReader(new FileReader(fileName));
if (!input.ready()) {
    throw new IOException()
}
while ((line = input.readLine()) != null) {
    aList.add(line);
}
input.close();
            } catch (IOException e) {
System.out.println(e);
    }

感谢

解决方案:这个页面很有帮助:http://developer.android.com/guide/topics/resources/string-resource.html#StringArray

String[] quotes = getResources().getStringArray(R.array.quotes_array);
Random randomGenerator = new Random(); 
//Construct a new Random number generator
int randomNumber = randomGenerator.nextInt(quotes.length);
fact = quotes[randomNumber];

这是一种非常非机器人的思维方式。

考虑使用res/values/strings.xml来存储引号,然后使用getResources().getStringArray(R.string.quotes)从那里随机读取一个引号,然后生成一个介于0和该数组大小之间的随机整数。

使用资源的好处-你可以使用相同的标识符,但根据地区改变引号本身

您可以将它放在assets目录中。如果这样做,访问文件的方式也会改变。谷歌查看如何从资产中读取文件。

相关内容

  • 没有找到相关文章

最新更新