properties中获取键值的方法使用

GDgay粉titi 2016-09-06 09:35:44
准备学习android从java基础入手,初学了段时间,尝试性做一个图书管理系统.但在编写的时候遇到两个问题自己没有想通,请教各位!
1.在properties中通过load()方法获取到输入流中的键值对,为什么不能直接用getProperties(key)来获取值,最后只能考虑用枚举来做.
2.创建了一个Scanner对象后当第一次使用nextInt()后,第二次nextLine()时就系统没等输入直接获取字符串打印了一个空行,类似以\r\n的感觉.

Properties prop = new Properties();
prop.load(new FileInputStream("config.properties"));
//***为什么不能直接用getProperty来获取config.properties中的值? prop.getProperty(key)
Enumeration<String> en = (Enumeration<String>) prop.propertyNames();
String keyPassword = en.nextElement();
String valuePassword = prop.getProperty(keyPassword);
String keyUsername = en.nextElement();
String valueUsername = prop.getProperty(keyUsername);


Scanner sc = new Scanner(System.in);
System.out.println("---请输入修改的书籍号---");
while(true) {
//***int i = sc.nextInt();这里用nextInt()为什么下面的String s = sc.nextLine()获取的是空?
String str = sc.nextLine();
int i = Integer.parseInt(str);
if(i <= list.size()){
System.out.println(i + ":" + list.get(i-1));
System.out.println("---请输入修改后的图书名称---");
//***为什么会为空?
String s = sc.nextLine();
list.set(i - 1, s);
System.out.println("---修改完成,返回菜单页面---");
Menu.page();
break;
}
System.out.println("---请输入正确的书籍号---");
}
...全文
456 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
java竹雨 2016-09-06
  • 打赏
  • 举报
回复
properties.getProperty("对应的值"); 这样应该可以回去到
GDgay粉titi 2016-09-06
  • 打赏
  • 举报
回复
引用 1 楼 u013439865 的回复:
1:这要看你当时是怎么设计的了
在"config.properties"存放的就是 username=123 password=123 通过store()和load()可以将键值对存放或加载到输出和输入流,使用setProperties()可以对值进行修改,用getProperties()获取到却是null
java竹雨 2016-09-06
  • 打赏
  • 举报
回复
1:这要看你当时是怎么设计的了
今天晴 2016-09-06
  • 打赏
  • 举报
回复
private static Properties prop = new Properties(); InputStream is = ConfigPropsUtil.class.getClassLoader().getResourceAsStream("config.properties"); prop.load(is); prop.getProperty(key);

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧