"我想用Java自定义一个自己的文件格式,自己定义一个扩展名。比如说 "新文件.cal". ".cal" 为新文件的扩展名。这种文件格式可以保存我用户界面里(GUI)输入的一些东西。比如说,我写一个模拟计算器的程序。当用户计算1+1=2 时,我可以将它保存为 “simple.cal". 当用这个程序打开这个文件时,用户输入的数据还在那个GUI里面。
请问该怎么样做了?给几个关键词让我搜索一下也好啊。不甚感谢了。"这个是我从网上看到的其他人的问题,我现在也和他有一样的疑问.请高手帮忙解决下谢谢了
请问该怎么样做了?给几个关键词让我搜索一下也好啊。不甚感谢了。"这个是我从网上看到的其他人的问题,我现在也和他有一样的疑问.请高手帮忙解决下谢谢了
解决方案 »
- 为什么repaint没有调用paint或update?
- jdbc 连接sql server 2005问题
- 求静态 java tree事例代码
- 请问一般什么情况下会用到对象序列化?
- can anyone give me an example for the answer of this question?
- 一个错误,请高手指教
- 对目录进行遍历时,出现了内存不足现象,请各位帮忙解决,多谢了
- 一个很基础的问题,望各位不吝赐教。
- apache+tomcat配置成功,但只有http://localhost/examples能用,为什么
- V J++和JBuilder哪一个更好呢?
- 关于多次安装JDK的问题
- 一个异常问题
一个简单的例子
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();
}
1,+,2,3
自己写一个方法,把文件的内容读出来把数据填到你的GUI中就可以了。
不用定义结构。你随便往文件中写就可以了,只要在数据之间插入一些分隔字符就可以了。
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的文件,你可以用文本编辑软件打开看看。