1.将一个文件分成10个等份,并分别存储到10个文件中?      2.将一个文件中的公式读取出来,输出并根据这个公式计算出结果(公式不做任何要求)?
   

解决方案 »

  1. 1,内容map到内存里,然后切分
    2.公式用template或者script解析
      

  2. 答:
    1)由于没有说明文件最大能有多大,因而:不妨全部读入一个字节数组中,然后分成十分,直接一下子就全写成十分了。
    若:文件很大,不允许读入内存,则可先读入文件大小,然后算出十分之一份的字节数,然后依次公成十次读取字节数据就行了。
    2)从文本文件中读入公式s(文本串),然后使用beanshell的eval(公式s)求值。
      

  3. 以下代码如何:public static void writeFile() {
    System.out.println("请输入你要读取的文件路径:");
    Scanner in = new Scanner(System.in);
    String path = in.next();
    try {
    // 读入流
    InputStream file = new FileInputStream(path);
    int size;
    size = file.available();
    System.out.println("文件可读取的最大数:" + size);
    for(int i=0;i<10;i++){
    FileOutputStream fos=new FileOutputStream("c:\\a"+i+".txt");
    byte[] text = new byte[size];
    fos.write(text, i*size/10, (i+1)*size/10);
    fos.close();
    }
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
      

类似问题 »