本帖最后由 ヅ飞飞 于 2013-11-1 19:20 编辑
今天做Properties类练习时,遇到的流的问题代码如下:- package day20;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.Properties;
- public class PropertiesDemo {
- public static void main(String[] args) throws IOException {
- File file = new File(
- "E:\\android\\workspace\\heima\\src\\day20\\info.txt");
- if (!file.exists())
- file.createNewFile();
- FileOutputStream out = new FileOutputStream(file);// 这句是之前做写操作时的语句。
- FileInputStream in = new FileInputStream(file);
- Properties pro = new Properties();
- pro.load(in);
- System.out.println(pro);
- // pro.setProperty("zhansan", 23 + "");
- // pro.setProperty("lisi", 24 + "");
- // pro.store(out, "");
- }
- }
复制代码 配置文件info.txt中有配置信息,当执行次代码后配置文件信息清空(目测覆盖文件了),原因找到了就是上面注释的FileOutputSream的原因,去掉此句执行正常可以读入配置信息。但不是很理解错误的原因,是因为两个流同时关联一个文件的原因么?new一个FileOutputStream(file)时如果文件存在它是创建新文件然后覆盖么,那么new一个FileInputStream(file)是不是也覆盖?
|