随机读取文本文件

时间:2014-09-05 10:02:46

标签: java android random

我刚刚开始开发Android应用程序,我突然发现很难从文本文件中随机地读取一个单词,当点击一个按钮时。我尝试将文本文件中的所有单词放入一个数组并告诉它显示直到下一行(随机),但它似乎不起作用。我想知道如何逐个阅读和显示文本文件中的单词,并且每次单击按钮时都是随机的!

4 个答案:

答案 0 :(得分:0)

您应该尝试逐字拆分文本并将其放入数组中。

答案 1 :(得分:0)

通过将文件读到最后来创建一个大字符串。 使用string.split将大字符串拆分为arraylist,并为split方法提供正确的split参数(""或",")。 从arraylist中随机输入,其中允许的最大随机数是整数的大小。

答案 2 :(得分:0)

用于显示单词数组中的单词的示例代码。

大多数行的功能都写在注释中。

string words[]; // array for words.
   /* code for reading text from text file and place words in text into words[] */
int sizeOfArray = numberOfWordsInArray; /* the value is set in the code of words placing into array */

Random rnd = new Random(); // random number generator

int index = rnd.nextInt(sizeOfArray); // nextInt returns random integer number between 0 and (sizeOfArray-1).

printf("%s\n",words[index]); // select a word by random number and display it.

答案 3 :(得分:0)

我猜你每行有一个单词。使用下面的代码读取文件并将其保存到列表中。

    ArrayList<String> list = new ArrayList<String>();
try {
    InputStream instream = openFileInput("yourfile.txt");
    if (instream) {
        BufferedReader buffreader = new BufferedReader(new InputStreamReader(instream));
        String line;
        while (( line = buffreader.readLine())) {
        list.add(line);
    }
}
instream.close();
} catch (java.io.FileNotFoundException e) {
} 

将上面的代码放在onCreate方法中。现在使用import java.util.Random从列表中随机选择项目。将代码放在OnClickListener中。

public Item anyItem() 
    {   private Random randomGenerator = new Random();
        int index = randomGenerator.nextInt(list.size());
        Item item = list.get(index);
        System.out.println("Your Selected item is " + item");
        return item;
    }

现在你可以对从anyItem()方法上面返回的项做任何事情,希望对你有帮助。