黑马程序员技术交流社区

标题: 弱弱的问一句Properties中list方法和store方法的区别 [打印本页]

作者: Teale    时间: 2014-3-16 14:57
标题: 弱弱的问一句Properties中list方法和store方法的区别
list(PrintStream out)
          将属性列表输出到指定的输出流。
store(OutputStream out, String comments)
          以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。
两者的输出流不同,然后store可以加备注。还有什么区别?? 刚做了下毕老师视频的作业,用prop.list,效果一模一样,只是没备注而已。
作者: grkbeyond    时间: 2014-3-16 21:34
store可以将内存结果存到一个流中,并存到文件上,而list不可以
作者: 欧阳疯    时间: 2014-3-16 21:54
list()方法:
import java.util.Properties;
public class PropertiesDemo {
  public static void main(String[] args) {
    propertiesDemo();
  }

  public static void propertiesDemo() {
    Properties prop = new Properties();
    prop.setProperty("02", "huangjianfeng");
    prop.setProperty("03", "jianfeng");
    prop.setProperty("04", "feng");
   
    prop.list(System.out);//该方法多用于调式,开发中很少用
  }
}
store()方法:

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

public class PropertiesDemo {
  public static void main(String[] args) throws IOException {
    propertiesDemo();
  }

  public static void propertiesDemo() throws IOException {
    Properties prop = new Properties();
    prop.setProperty("02", "hujianfeng");
    prop.setProperty("03", "jianfeng");
    prop.setProperty("04", "feng");
   
    //想要将这个集合中的字符串键值信息持久化存储到文件中,需要关联输出流
    FileOutputStream fos = new FileOutputStream("F:\\info.txt");
   
    //将集合中的数据存储到文件中,使用store方法
    prop.store(fos, "number+name");//第二个参数表示对这个表的描述,也就是说说明这个表是什么
    fos.close();
  }
  
}
作者: mohuancaizi    时间: 2014-3-16 22:33
Load,store,list方法总结:

load()方法可以接受一个字节输入流或者字符输入流

store()方法可以接受一个字节输出流或者字符输出流

list()方法可以接受字节打印流字符打印流可以向控制台打印

下面的例子将演示load store list方法应用

    public staticvoid testProperty(){

        FileInputStreamfis =null;  

        FileOutputStreamfos =null;  

        Propertiesprop = null;  

        try{

            fis= new FileInputStream("F:\\1.txt");

            fos= new FileOutputStream("F:\\2.txt");

            prop=newProperties();  

            //load接受一个字节输入流

            prop.load(fis);

            System.setOut(newPrintStream(fos));

            //list接受一个打印流

            prop.list(System.out);

            //store接受一个字节输出流

            prop.store(fos,"niaho");  

        }catch(IOException e) {  

            e.printStackTrace();

        }finally{

            try{

                if(fis!=null)

                    fis.close();

            }catch (IOException e2) {

                e2.printStackTrace();

            }

        }

    }





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2