"我想用Java自定义一个自己的文件格式,自己定义一个扩展名。比如说 "新文件.cal". ".cal" 为新文件的扩展名。这种文件格式可以保存我用户界面里(GUI)输入的一些东西。比如说,我写一个模拟计算器的程序。当用户计算1+1=2 时,我可以将它保存为 “simple.cal". 当用这个程序打开这个文件时,用户输入的数据还在那个GUI里面。
请问该怎么样做了?给几个关键词让我搜索一下也好啊。不甚感谢了。"这个是我从网上看到的其他人的问题,我现在也和他有一样的疑问.请高手帮忙解决下谢谢了

解决方案 »

  1.   

    看一下Io文件操作的部分
    一个简单的例子
    try {
    FileOutputStream fo = new FileOutputStream("c:/1.cal");
    String str = "我要存储的内容";
    fo.write(str.getBytes());
    fo.flush();
    fo.close();
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
      

  2.   

    文件名自己随便起.文件中的数据格式自己随便定义.用IO文件操作.比如你可以把结果存入result.rst,在文件中格式是:
    1,+,2,3
    自己写一个方法,把文件的内容读出来把数据填到你的GUI中就可以了。
      

  3.   

    IO操作嘛。建议使用BufferReader和BufferWriter(带缓存的文本文件读写器,类名可能打错了,不好意思)格式就你自己定了。谢谢。
      

  4.   


    不用定义结构。你随便往文件中写就可以了,只要在数据之间插入一些分隔字符就可以了。
    import java.io.*;public class Test3{
    public static void main(String[] args) throws IOException{
    writeSomeToFile("result.rst","1 + 2 = 3");
    String s=readLineFromFile("result.rst");
    String[] strs=s.split("\\s+");      // use white charactor split a String
    for(int i=0;i<strs.length;i++){
    System.out.println(strs[i]);
    }
    }
    public static void  writeSomeToFile(String fileName,String some) throws IOException{
    BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(fileName)),"UTF-8"));
    bw.write(some,0,some.length());
    bw.newLine();
    bw.flush();
    bw.close();
    }
    public static String readLineFromFile(String fileName) throws IOException {
    BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(new File(fileName))));
    String s=null;
    s=br.readLine();
    br.close();
    return s;
    }}运行这个例子,你会看到在当前目录下会生成一个叫result.rst的文件,你可以用文本编辑软件打开看看。