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

这个txt文件的每一行是一个单词加它的意思,想要随机选取一行,随机的!求代码!代码!代码!跪谢大神!


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文件?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-05
//multimap
pair<TTMap::iterator,TTMap::iterator> valuess = mm.equal_range(1);
TTMap::iterator bs = valuess.first;追问

额。。。。。看不懂

本回答被网友采纳
相似回答