對Java很新穎(只有幾天學習)我正在尋找一個隨機引用程序。我在文件quotes.txt中的單獨行上有引號。我需要做的是抓住一條隨機線並打印出來。如何從文本文件中抓取一行隨機文本並打印該行
我想要的步驟是首先確定文件中的行數,然後生成一個介於0和行數之間的隨機數。然後轉到文件中的那一行並打印出來。
我只是不知道如何真正開始真正(再次,原諒我,對Java來說很新)。任何幫助深表感謝。
對Java很新穎(只有幾天學習)我正在尋找一個隨機引用程序。我在文件quotes.txt中的單獨行上有引號。我需要做的是抓住一條隨機線並打印出來。如何從文本文件中抓取一行隨機文本並打印該行
我想要的步驟是首先確定文件中的行數,然後生成一個介於0和行數之間的隨機數。然後轉到文件中的那一行並打印出來。
我只是不知道如何真正開始真正(再次,原諒我,對Java來說很新)。任何幫助深表感謝。
這是一個快速的想法。注意我沒有測試過這個代碼。把它放在一起真的很快......而且這僅僅適用於小文件。如果你需要處理大量的數據,那麼我建議只讀取感興趣的文件(基於隨機)並只處理該行。此外,其他的庫可以與此問題(例如,Apache的公地:FileUtils.readLines(文件)獲得(indexNumber))特異性幫助
FileInputStream fs= new FileInputStream("quotes.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fs));
ArrayList<String> array = new ArrayList<>();
String line;
while((line = br.readLine()) != null)
array.add(line);
// variable so that it is not re-seeded every call.
Random rand = new Random();
// nextInt is exclusive. Should be good with output for array.
int randomIndex = rand.nextInt(array.size());
// Print your random quote...
System.out.println(array.get(randomIndex));
非常感謝! – quibblify
我會做的是創建一個ArrayList,並在那裏添加行。獲取介於0和(ArrayList -1的大小)之間的隨機數,並獲取存儲在該索引處的信息的值。我會留下代碼供您嘗試解決,但是當您發佈已編寫的代碼時,我會提供幫助。
List
或array
。 A Scanner或BufferedReader可以做到這一點。
[見本](http://stackoverflow.com/questions/2218005/how-to-get-a-random-line-of-a-text-in-java) – SerCrAsH
使用數據庫可能會使這更容易 – ControlAltDel
@ControlAltDel請解釋。不知道如何可能使這更容易。聽起來不必要的複雜。 – tnw