A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yangshang1 中级黑马   /  2012-4-1 11:33  /  1561 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

用Properties存储数据时出现一个问题:我先用
File file=new File("test.txt");
if(!file.exists())
{
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
创建一个文件,然后用Properties存储两组数据,运行后,记事本打开test.txt文件,居然是空白。。。。。
全部代码如下


import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Properties;
import java.util.Scanner;


public class Test {

/**
* @param args
* @throws IOException  
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub

File file=new File("test.txt");
if(!file.exists())
{
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Please input a name:");
Scanner sc=new Scanner(System.in);
String name=sc.nextLine();
System.out.println("Please input a number:");
Double num=sc.nextDouble();
Properties pro=new Properties();
pro.put("name",name);
pro.put("number", num.toString());
Writer wr=new FileWriter("test.txt");
pro.store(wr, "");//运行后test.txt是空的,如果不要前面的18-26行的代码,运行正常
}
}

}

2 个回复

倒序浏览
本帖最后由 Android_Game 于 2012-4-2 04:29 编辑

沙发{:soso_e106:}
回复 使用道具 举报
if的大括号} 位置问题 楼主吧if的关闭}放到了 整个程序末端 这样如果同文件test.txt存在的话这个程序就不执行了。
修改以后的程序是
  1. package com.test;

  2. import java.io.File;
  3. import java.io.FileWriter;
  4. import java.io.IOException;
  5. import java.io.Writer;
  6. import java.util.Properties;
  7. import java.util.Scanner;

  8. public class Test {

  9.         /**
  10.          * @param args
  11.          * @throws IOException
  12.          */
  13.         public static void main(String[] args) throws IOException {
  14.                 // TODO Auto-generated method stub

  15.                 File file = new File("test.txt");
  16.                 if (!file.exists()) {
  17.                         try {
  18.                                 file.createNewFile();
  19.                         } catch (IOException e) {
  20.                                 // TODO Auto-generated catch block
  21.                                 e.printStackTrace();
  22.                         }
  23.                 }
  24.                 System.out.println("Please input a name:");
  25.                 Scanner sc = new Scanner(System.in);
  26.                 String name = sc.nextLine();
  27.                 System.out.println("Please input a number:");
  28.                 Double num = sc.nextDouble();
  29.                 Properties pro = new Properties();
  30.                 pro.put("name", name);
  31.                 pro.put("number", num.toString());
  32.                 Writer wr = new FileWriter("test.txt");
  33.                 pro.store(wr, "");// 运行后test.txt是空的,如果不要前面的18-26行的代码,运行正常

  34.         }

  35. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马