簡體   English   中英

隨機讀取文本文件

[英]Reading from a text file Randomly

我剛開始開發android應用,突然發現當單擊按鈕時,很難從文本文件中讀取單詞。我嘗試將文本文件中的所有單詞放入數組,並告訴它顯示單詞直到下一行(隨機),但似乎不起作用。 我想知道每次單擊一個按鈕時,如何一次又一次地隨機讀取和顯示文本文件中的單詞!!!

您應該嘗試逐字分割文本並將其放入數組中。

通過讀取文件到末尾來創建一個大字符串。 使用string.split將大字符串拆分為一個數組列表,並為split方法提供正確的split參數(“”或“,”)。 從arraylist中取出一個隨機條目,其中允許的最大隨機數是arralist的大小。

用於顯示單詞數組中的單詞的示例代碼。

大多數行的功能以注釋形式編寫。

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.

我想你每行一個字。 使用下面的代碼讀取文件並將其保存到列表中。

    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()方法上方返回的項目進行任何操作,希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM