Properties中数组越界了? java;Properties IO 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先你的代码不会停止。while ((line = bufferedReader.readLine()) != "over") {字符串用 == 比较。不会看到 over 停止的。你肯定是某行没有输入 = 抛出数组越界。line.split("=") 在你没有输入=的情况下,只有下标[0],你取[1],肯定错误。 1.字符串是否相等用equals2.打印或者debug跟踪,这样太简单了吧 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类型的。我这段代码没问题。你自己看下。 通过大家的指点,我做出了如下改正,基本解决了没输入=号引起的数组越界问题。现在,我的想法是使用Properties的loan()这个方法,就是加载控制台的输入流,然后利用stroe()方法,将加载到的信息保存到硬盘上的文件中希望大侠们继续说几句 不知道楼主卡在哪里了,给楼主一个以前写的小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));} java中解压缩操作异常的问题 如何解决Java和C#之间的socket通信问题? java JTable 指定单元格添加控件 一个局域网的问题 生成新文件,用哪种方法最好?!!! 关于异常的错误,朋友帮我解释下啊 为什么client和server之间的通讯一直不能成功(看原码)在线等待`` 如何让JPanel有3D的显示效果? 一个初学者关于jdbc数据库的连接问题!(急) Vj++中如何启动浏览器 死锁问题 使用迭代器时出现了错误:不兼容的类型:Object无法转换为Employee。求大神点播为什么?
line.split("=") 在你没有输入=的情况下,只有下标[0],你取[1],肯定错误。
2.打印或者debug跟踪,这样太简单了吧
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类型的。我这段代码没问题。你自己看下。
通过大家的指点,我做出了如下改正,基本解决了没输入=号引起的数组越界问题。
现在,我的想法是使用Properties的loan()这个方法,就是加载控制台的输入流,然后利用stroe()方法,将加载到的信息
保存到硬盘上的文件中
希望大侠们继续说几句
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));
}