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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Nullifier 中级黑马   /  2014-8-22 17:57  /  1550 人查看  /  29 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.util.*;
  2. import java.io.*;
  3. class PropertiesDemo
  4. {
  5.         public static void main(String[] args) throws Exception
  6.         {
  7.                 //set();
  8.                 try
  9.                 {
  10.                         Properties ps=new Properties();
  11.                         get("e:\\P.txt",ps);
  12.                         set(ps);
  13.                 }
  14.                 catch (Exception e)
  15.                 {
  16.                         e.toString();
  17.                 }
  18.         }
  19.         public static void get(String files,Properties pro) throws Exception
  20.         {
  21.                 BufferedReader br=new BufferedReader(new FileReader(files));
  22.                 String line=null;
  23.                 while((line=br.readLine())!=null)
  24.                 {
  25.                         String []arr=line.split("=");
  26.                         pro.setProperty(arr[0],arr[1]);
  27.                 }
  28.         }
  29.         public static void set(Properties pro)
  30.         {
  31.                 Set<String>list=pro.stringPropertyNames();//将Properties中数据遍历返回Set集合
  32.                 for(String p:list)
  33.                 {
  34.                         System.out.println(p+"        "+pro.getProperty(p));
  35.                 }
  36.                
  37.         }
  38.        
  39. }
复制代码
从get()方法中的while循环出来就没有结果

29 个回复

倒序浏览
你的get()方法中没有输出语句...
回复 使用道具 举报
求高手解答
回复 使用道具 举报
这个代码没有问题,唯一就是你的p.txt文件格式是否正确,是否有内容
回复 使用道具 举报
应该还有份代码,你把Porperties代码也拿出来看看
回复 使用道具 举报
hejinzhong 发表于 2014-8-22 20:47
这个代码没有问题,唯一就是你的p.txt文件格式是否正确,是否有内容

w=1
df=2
g=3
fb=4
vbf=5
xc=6
bs=7
vs=8
bs=10
回复 使用道具 举报
0小菜鸟0 发表于 2014-8-22 21:02
应该还有份代码,你把Porperties代码也拿出来看看

没这是Properties的Demo
回复 使用道具 举报

这是 P.txt 应该没问题。在while循环中还能读取 但是出了循环就不行了 不知道为啥
回复 使用道具 举报
依然超级赛亚人 发表于 2014-8-22 19:36
你的get()方法中没有输出语句...

get只是设置Properties set方法是读取
回复 使用道具 举报
Nullifier 发表于 2014-8-22 22:14
get只是设置Properties set方法是读取

我这里可以运行的!你文件是大写,你电脑没把后缀隐藏把
回复 使用道具 举报
hejinzhong 发表于 2014-8-22 22:19
我这里可以运行的!你文件是大写,你电脑没把后缀隐藏把

额 能运行出结果?我这文件名对的了 while中能读取数据了 但是出了循环就读不出了
回复 使用道具 举报
Nullifier 发表于 2014-8-22 22:47
额 能运行出结果?我这文件名对的了 while中能读取数据了 但是出了循环就读不出了 ...

你循环都读完了!出去不是没了吗?
回复 使用道具 举报
不知道你说的出了while循环就读不出是怎样的情况,把那段代码晒晒。这段代码目前没什么问题,不过P.txt中有一个键重复,所以读出来的只是八个数而已。
回复 使用道具 举报
hejinzhong 发表于 2014-8-22 23:27
你循环都读完了!出去不是没了吗?

但是都是一个Properties 对象啊get把文件中数据读出来,set把这个对象中的值在遍历显示,我是这么想的
回复 使用道具 举报
Nullifier 发表于 2014-8-23 08:10
但是都是一个Properties 对象啊get把文件中数据读出来,set把这个对象中的值在遍历显示,我是这么想的 ...

你现在写的就是这个意思,我还没搞清你说的在循环外那里读取。
回复 使用道具 举报
依然超级赛亚人 发表于 2014-8-23 06:53
不知道你说的出了while循环就读不出是怎样的情况,把那段代码晒晒。这段代码目前没什么问题,不过P.txt中有 ...
  1. public static void get(String files,Properties pro) throws Exception
  2.         {
  3.                 BufferedReader br=new BufferedReader(new FileReader(files));
  4.                 String line=null;
  5.                 while((line=br.readLine())!=null)
  6.                 {
  7.                        
  8.                         String []arr=line.split("=");
  9.                         pro.setProperty(arr[0],arr[1]);
  10.                         //String s=pro.getProperty("w");//在这加入这句话
  11.                         //System.out.println(s)        ;//输出结果为 1 1 1 1 1这能读出数据也能调用Properties中的方法
  12.                 }
  13.                         String s=pro.getProperty("w");//但是如果在这加入这句话
  14.                         System.out.println(s)        ;//输出结果为空 就是什么结果也不显示
  15.         }
复制代码
回复 使用道具 举报
hejinzhong 发表于 2014-8-23 08:15
你现在写的就是这个意思,我还没搞清你说的在循环外那里读取。
  1. public static void get(String files,Properties pro) throws Exception
  2.         {
  3.                 BufferedReader br=new BufferedReader(new FileReader(files));
  4.                 String line=null;
  5.                 while((line=br.readLine())!=null)
  6.                 {
  7.                        
  8.                         String []arr=line.split("=");
  9.                         pro.setProperty(arr[0],arr[1]);
  10.                         //String s=pro.getProperty("w");//在这加入这句话
  11.                         //System.out.println(s)        ;//输出结果为 1 1 1 1 1这能读出数据也能调用Properties中的方法
  12.                 }
  13.                         String s=pro.getProperty("w");//但是在这加入这句话
  14.                         System.out.println(s)        ;//输出结果为空
  15.         }
复制代码
回复 使用道具 举报

你这么写没有问题,会在读取完所有信息后,输出一次值的,如果你P.txt中有w键的话。
回复 使用道具 举报
我的运行没问题啊,你想要什么结果
回复 使用道具 举报
hejinzhong 发表于 2014-8-23 08:31
你这么写没有问题,会在读取完所有信息后,输出一次值的,如果你P.txt中有w键的话。 ...

不是 在while循环外就读不到值了 我想在while循环外把值读取出来 但是我这运行的显示不出结果来
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马