Java 如何从文本文件中随机获取一行并打印该行
对Java非常陌生(只学习了几天),我想做一个随机引用程序。我在quotes.txt文件中的不同行上有引号。我需要能够做的是抓取一个随机行并打印它 我认为步骤是首先确定文件中的行数,然后生成一个介于0和行数之间的随机数。然后转到文件中的那一行并打印它Java 如何从文本文件中随机获取一行并打印该行,java,Java,对Java非常陌生(只学习了几天),我想做一个随机引用程序。我在quotes.txt文件中的不同行上有引号。我需要能够做的是抓取一个随机行并打印它 我认为步骤是首先确定文件中的行数,然后生成一个介于0和行数之间的随机数。然后转到文件中的那一行并打印它 我只是不知道如何真正开始(请原谅,我对Java非常陌生)。非常感谢您的帮助。我要做的是创建一个ArrayList并在其中添加行。获取一个介于0和(ArrayList-1的大小)之间的随机数,并获取存储在该索引中的信息值。我将把代码留给您尝试和解决,
我只是不知道如何真正开始(请原谅,我对Java非常陌生)。非常感谢您的帮助。我要做的是创建一个ArrayList并在其中添加行。获取一个介于0和(ArrayList-1的大小)之间的随机数,并获取存储在该索引中的信息值。我将把代码留给您尝试和解决,但是当您发布您已经编写的代码时,我将提供帮助。我要做的是创建一个ArrayList并在其中添加行。获取一个介于0和(ArrayList-1的大小)之间的随机数,并获取存储在该索引中的信息值。我将把代码留给您尝试和解决,但是当您发布您已经编写的代码时,我将提供帮助。我要做的是创建一个ArrayList并在其中添加行。获取一个介于0和(ArrayList-1的大小)之间的随机数,并获取存储在该索引中的信息值。我将把代码留给您尝试和解决,但是当您发布您已经编写的代码时,我将提供帮助。我要做的是创建一个ArrayList并在其中添加行。获取一个介于0和(ArrayList-1的大小)之间的随机数,并获取存储在该索引中的信息值。我将把代码留给你去尝试和弄清楚,但是当你发布你已经编写的代码时,我将提供帮助
列表
或数组
。一个机器人可以做到这一点列表
或数组
。一个机器人可以做到这一点列表
或数组
。一个机器人可以做到这一点列表
或数组
。一个机器人可以做到这一点这里有一个快速的想法。注意:我没有测试这段代码。很快就把它组合起来。。。这应该只适用于小文件。如果您需要处理大量数据,那么我建议您将文件读取到感兴趣的行(基于随机),然后只处理该行。此外,其他lib可能特别有助于解决这个问题(例如,apachecommons:FileUtils.readLines(file.get(indexNumber))
FileInputStream fs=newfileinputstream(“quotes.txt”);
BufferedReader br=新的BufferedReader(新的InputStreamReader(fs));
ArrayList数组=新的ArrayList();
弦线;
而((line=br.readLine())!=null)
数组。添加(行);
//变量,使其不会在每次调用时重新设定种子。
Random rand=新的Random();
//nextInt是独家的。阵列的输出应该很好。
int randomIndex=rand.nextInt(array.size());
//打印您的随机报价。。。
System.out.println(array.get(randomIndex));
这里有一个简单的想法。注意:我没有测试这段代码。很快就把它组合起来。。。这应该只适用于小文件。如果您需要处理大量数据,那么我建议您将文件读取到感兴趣的行(基于随机),然后只处理该行。此外,其他lib可能特别有助于解决这个问题(例如,apachecommons:FileUtils.readLines(file.get(indexNumber))
FileInputStream fs=newfileinputstream(“quotes.txt”);
BufferedReader br=新的BufferedReader(新的InputStreamReader(fs));
ArrayList数组=新的ArrayList();
弦线;
而((line=br.readLine())!=null)
数组。添加(行);
//变量,使其不会在每次调用时重新设定种子。
Random rand=新的Random();
//nextInt是独家的。阵列的输出应该很好。
int randomIndex=rand.nextInt(array.size());
//打印您的随机报价。。。
System.out.println(array.get(randomIndex));
这里有一个简单的想法。注意:我没有测试这段代码。很快就把它组合起来。。。这应该只适用于小文件。如果您需要处理大量数据,那么我建议您将文件读取到感兴趣的行(基于随机),然后只处理该行。此外,其他lib可能特别有助于解决这个问题(例如,apachecommons:FileUtils.readLines(file.get(indexNumber))
FileInputStream fs=newfileinputstream(“quotes.txt”);
BufferedReader br=新的BufferedReader(新的InputStreamReader(fs));
ArrayList数组=新的ArrayList();
弦线;
而((line=br.readLine())!=null)
数组。添加(行);
//变量,使其不会在每次调用时重新设定种子。
Random rand=新的Random();
//nextInt是独家的。阵列的输出应该很好。
int randomIndex=rand.nextInt(array.size());
//打印您的随机报价。。。
System.out.println(array.get(randomIndex));
<
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));