当前位置: 代码迷 >> Java相关 >> Java写属性文件
  详细解决方案

Java写属性文件

热度:388   发布时间:2010-07-22 22:39:59.0
Java写属性文件
我想在控制台往一个属性文件写几个属性,以下是我写的一个程序:
public class RWPropertiesDemo {
    public String filename;
   
    public String getFilename() {
        return filename;
    }
    public void setFilename(String filename) {
        this.filename = filename;
    }
   
   public void writeProperty(){
       try {

           InputStream is=System.in;
           BufferedReader br=new BufferedReader(new InputStreamReader(is));
           File file=new File(filename);
           BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
           String str=null;
           while((str=br.readLine())!=null){
               if(!str.equals("QUIT")){
                   bw.write(str);
                   bw.flush();
               }else{
                   System.exit(0);
               }
           }
           
           br.close();
           bw.close();
       } catch (IOException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
      
   }
   
public static void main(String[] args) {
    RWPropertiesDemo rwp=new RWPropertiesDemo();
    rwp.setFilename("F:/a.properties");
    rwp.writeProperty();
}
}
输入:
user1=111
user2=222
user3=333
QUIT
我去F盘打开a.properties,有次结果为:
user1=111--list properties--
user2=222--list properties--
user3=333--list properties--
好像还有次结果为:
user1=111user2=222user3=333
我觉得正确结果为:
user1=111
user2=222
user3=333
不知道错在哪?请大虾指点一二............................

搜索更多相关的解决方案: Java  属性  文件  

----------------解决方案--------------------------------------------------------
str后没有加上回车换行符
因此要在str后加上"\r\n"
程序代码:
import java.io.*;

public class RWPropertiesDemo {
    private String filename;
   
    public String getFilename() {
        return filename;
    }
    public void setFilename(String filename) {
        this.filename = filename;
    }
   
   public void writeProperty(){
       try {

           InputStream is=System.in;
           BufferedReader br=new BufferedReader(new InputStreamReader(is));
           File file=new File(filename);
           BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
           String str=null;
           while((str=br.readLine())!=null){
               if(!str.equals("QUIT")){
                   bw.write(str+"\r\n"); //"\r\n"表示回车换行
                   bw.flush();
               }else{
                   System.exit(0);
               }
           }
         
           br.close();
           bw.close();
       } catch (IOException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
      
   }
   
public static void main(String[] args) {
    RWPropertiesDemo rwp=new RWPropertiesDemo();
    rwp.setFilename("F:/a.properties");
    rwp.writeProperty();
}
}




[ 本帖最后由 lampeter123 于 2010-7-23 09:21 编辑 ]
----------------解决方案--------------------------------------------------------
  相关解决方案