java怎么随机从txt文件里选取一行?

这个txt文件的每一行是一个单词加它的意思,想要随机选取一行,随机的!求代码!代码!代码!跪谢大神!... 这个txt文件的每一行是一个单词加它的意思,想要随机选取一行,随机的!求代码!代码!代码!跪谢大神! 展开
 我来答
暮影1994
2015-12-05 · TA获得超过2338个赞
知道大有可为答主
回答量:1215
采纳率:60%
帮助的人:399万
展开全部

import java.io.RandomAccessFile;
import java.util.ArrayList;
import java.util.List;

/**
 * 2015年12月5日下午4:25:54
 * 
 * @author hp TODO 随机读取文件内容
 *
 */
public class ReadLine {

    List<String> list = new ArrayList<String>();

    /**
     * 获取随机行数
     * 
     * @param total
     *            文件总行数
     * @return 整形参数
     */
    public int getRandomNumber(int total) {
        return (int) (Math.random() * total);
    }

    /**
     * 将文件内容按行读取存放到List里面
     * 
     * @param fileName
     *            文件名
     */
    public void initList(String fileName) {
        try {
            RandomAccessFile accessFile = new RandomAccessFile(fileName, "r");

            String str = "";

            while (null != (str = accessFile.readLine())) {
                list.add(str);
            }

            accessFile.close();
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
    }

    /**
     * 获取随机行数的字符串
     * 
     * @return
     */
    public String getStringOfFile() {

        if (null != list) {
            int line = getRandomNumber(list.size());

            return list.get(line);
        }
        return null;

    }

    public static void main(String[] args) {

        ReadLine rl = new ReadLine();
        rl.initList("D://1.java");
        System.out.println(rl.getStringOfFile());

    }

}
追问
ReadLine定义不了
追答
错误是什么? 是不是你随便命名了Java文件?
匿名用户
2015-12-05
展开全部
//multimap
pair<TTMap::iterator,TTMap::iterator> valuess = mm.equal_range(1);
TTMap::iterator bs = valuess.first;
追问
额。。。。。看不懂
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式