叫我小韩就好了
2015-12-09 03:07
采纳率: 83.3%
浏览 3.3k
已采纳

如何在java中实现读取一个txt文档中的随机一行

如题,如何在java中实现读取一个txt文档中的随机一行? 主要就是怎么随机读取

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 君莫傲 2015-12-09 07:20
    已采纳

    根据楼上的说法,来总结一下吧,总体来说,就是将文件全部都读取出来,每一行存储到一个数组或集合中,然后再通过产生随机数,来对这个数组或是
    集合进行随机的访问。这样一来就解决了

    点赞 打赏 评论
  • blownewbee 2015-12-09 03:08

    文本文件只能顺序读,不能随机读。你的需求只能是读取文本文件每一行到一个arraylist,然后得到下标范围,产生一个随机数,取那一行

    点赞 打赏 评论
  • 新病毒 2015-12-09 03:25

    先按照行内容缓存到内存中,然后读取

    点赞 打赏 评论
  • blownewbee 2015-12-09 03:26
    点赞 打赏 评论
  • 只求真理 2015-12-09 03:29

    应该是把一个txt文档的数据用BufferedReader流的readLine() 方法把文档数据一行行的读出来,然后依次放到一个list中。
    根据list的size再生成一个从0到size()-1的随机数,再根据这个随机数作为index到list中取出来,就可以实现你这个功能了。

    点赞 打赏 评论
  • pucheung 2015-12-09 09:21
        BufferedReader br=new BufferedReader(new FileReader("C:\\Users\\Administrator\\Desktop\\新建文本文档.txt"));
        LineNumberReader lbr=new LineNumberReader(new FileReader("C:\\Users\\Administrator\\Desktop\\新建文本文档.txt"));
        lbr.skip(Long.MAX_VALUE); 
        int i=lbr.getLineNumber();
        Random random=new Random();
        i=random.nextInt(i)+1;
        String s="";
        int m=0;
        while(null!=(s=br.readLine()))
        {
            if((m+1)==i)
                break;
            m++;
        }
    
        System.out.println(s);
    
    点赞 打赏 评论

相关推荐 更多相似问题