解决方案 »

  1.   

    首先你的代码不会停止。while ((line = bufferedReader.readLine()) != "over") {字符串用 == 比较。不会看到 over 停止的。你肯定是某行没有输入  =  抛出数组越界。
    line.split("=")  在你没有输入=的情况下,只有下标[0],你取[1],肯定错误。
      

  2.   

    1.字符串是否相等用equals
    2.打印或者debug跟踪,这样太简单了吧
      

  3.   

    package myTestProject;import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;public class PropertiesTest { public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String line = null;
    while (!((line = br.readLine()).equals("over"))) {
    String[] arr = line.split("=");
    System.out.println(arr[0] + arr[1]);
    }
    }
    }用equals,String类型的。我这段代码没问题。你自己看下。
      

  4.   


    通过大家的指点,我做出了如下改正,基本解决了没输入=号引起的数组越界问题。
    现在,我的想法是使用Properties的loan()这个方法,就是加载控制台的输入流,然后利用stroe()方法,将加载到的信息
    保存到硬盘上的文件中
    希望大侠们继续说几句
      

  5.   

    不知道楼主卡在哪里了,给楼主一个以前写的小demoProperties map = new Properties();
    map.put("username", "zhangsan");
    map.put("age", "12");

    FileOutputStream fos = new FileOutputStream("property.properties");
    map.store(fos, "Property Test");

    Properties p = new Properties();
    FileInputStream fis = new FileInputStream("property.properties");
    p.load(fis);
    System.out.println(p.get("username"));

    Properties p2 = new Properties(p);
    p2.setProperty("username", "lisi");

    System.out.println(p2.getProperty("username"));
    System.out.println(p2.getProperty("age"));

    FileReader fr = new FileReader(new File("property.properties"));
    Properties prop = new Properties();
    prop.load(fr);
    Set<Object> keySet = prop.keySet();
    for (Object key : keySet) {
     System.out.println(key + "=" + prop.getProperty((String) key));
    }