我是想先算出所有的行,之后用Random制造随机数,选择一行,求教具体的实现步骤,谢谢!

解决方案 »

  1.   

    可以把每一行都保存到ArrayList中,然后用随机函数得到一个随机值,从list中抽出相应的数据,写到另一个文件里就行了
      

  2.   

    ArrayList contentList = new ArrayList();
    String outer = buf.readLine();//将文件一行一行的加到list中
    contentList.add(outer);//都加到list中后,开始取得随机数
    int radom = (int)(contentList.size()*Math.random());//从list中得到相应数据
    contentList.get(radom);//写到另外的文件中
      

  3.   

    import java.io.*;
    import java.util.*;
    public class lx5
    {
    public static void main(String[] args) throws IOException
    {
    System.out.print("请输入要读取的文件名:"); BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));

    String filename = buf.readLine();
    File inputFile = new File (filename);


    ArrayList contentList = new ArrayList();
            String s = buf.readLine();       //将文件一行一行的加到list中
            contentList.add(s);       //都加到list中后,开始取得随机数
           int radom = (int)(contentList.size()*Math.random());       //从list中得到相应数据
           contentList.get(radom);       //写到另外的文件中
           
            String outer = buf.readLine();
    File outputFile = new File("two.txt");    System.out.println("Random is" +radom);
      
    }
    }
    我看了radom总是0,为什么??、
      

  4.   

    兄弟,用一下循环好吗?        String s = buf.readLine();
           //将文件一行一行的加到list中
            contentList.add(s);=========〉    try {
            BufferedReader in = new BufferedReader(new FileReader("infilename"));
            String str;
            while ((str = in.readLine()) != null) {
                process(str);
            }
            in.close();
        } catch (IOException e) {
        }另外,用java.util.Random产生整数随机数。
      

  5.   

    再问一个问题,如何把特定行输出到指定的文件??这是我程序的一部分,我通过程序得到了总行数,并且得到了随机数,现在要把选中的这一行输出到我指定的文件中(假设是outer.txt)。 
                    int num=0;
                    while ( num!=radom)
                    {num++;};
                    System.out.println("num is:" +num);
                    String s2=in.readLine();  //这行有问题,s2的值始终是null,请问该如
                                                何修改??
                    System.out.println("s2 is :"+s2);之后如何把s2写到指定的文件outer.txt。
      

  6.   

    java.io.RandomAccessFile类提供在文件指定位置读写数据的功能
    具体请参阅Java帮助文档
    或者看《Java语言学习手册(第二版)》中国电力出版社P359~P360