本帖最后由 LB065X 于 2010-11-15 17:07:42 编辑

解决方案 »

  1.   

    readInput加上文件是否读完的判断f.getFilePointer() < f.length()
        public static void readInput() {
            try {
                RandomAccessFile f = new RandomAccessFile("test.txt", "rw");
                int i;
                double[] b;
                double a = 0, sum = 0;
                b = new double[5];
                // double d;
                f.seek(0);
                for (i = 0; i < 5 && f.getFilePointer() < f.length(); i++) {
                    b[i] = f.readDouble();
                    // d=f.readDouble()-'0';
                    System.out.println("[" + i + "]:" + b[i]);// 这里之后就运行不了了            }
                System.out.println("aaaa:");
                for (i = 0; i < 5; i++) {
                    System.out.println("[" + i + "]:" + b[i]);
                    sum += b[i];
                }
                a = sum / 5;            f.seek(16);
                f.writeDouble(a);            f.close();
            } catch (IOException e) {
                System.err.println("发生异常:" + e);
                e.printStackTrace();
            }
        }
      

  2.   

    package aa;import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.List;public class Test11 { public static void writemethod(File file, InputStreamReader ips)
    throws IOException {
    FileWriter fw = new FileWriter(file);
    if (!file.exists()) {
    file.createNewFile();
    }
    int i;
    while ((i = ips.read()) != 13) {
    fw.write((char) i);
    }
    fw.close();
    ips.close();
    } public static int readmethod(File file) throws IOException {
    FileReader fr = new FileReader(file);
    int i;
    List<String> list = new ArrayList<String>();
    while ((i = fr.read()) != -1) {
    String val = "";
    while (i != 32&i != -1) {
    val = val + (char) i;
    i = fr.read();
    }
    list.add(val);
    }
    int sum = 0;
    for (String v : list) {
    int kk = Integer.parseInt(v);
    sum = sum + kk;
    }
    return sum / list.size();
    } public static void main(String[] args) throws IOException {
    InputStreamReader ips = new InputStreamReader(System.in);
    File file = new File("f://test3.txt");
    writemethod(file, ips);
    System.out.println(readmethod(file)); }
    }