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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

     求高手解惑 卡一下午了  - -
                FileReader fr = new FileReader("IP地址.txt");
                BufferedReader bufr =new BufferedReader(fr);      //这里是把数据读到缓冲池里然后放到Line中吗?不懂
                String line =null;
                while((line = bufr.readLine())!=null)
                {System.out.println(line);}
       
                TreeSet ts = new TreeSet();
                ts.add(line);                                                           //这里有毛病,但是不知道怎么写
                Iterator it =ts.iterator();
                while(it.hasNext())
                {
                        System.out.println(it.next());
                }
                bufr.close();

想把TXT里的东西通过TreeSet打出来,但是程序运行完每次都是返回null....

评分

参与人数 1技术分 +1 收起 理由
船长 + 1

查看全部评分

3 个回复

倒序浏览
把TreeSet集合放到循环里就有了
回复 使用道具 举报
将TreeSet创建对象的语句移到第一个while循环上面,将ts.add(line);移到第一个while循环中就可以了
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import java.util.TreeSet;

public class JiShuFen4 {
        public static void main(String[] args) throws IOException {
                BufferedReader bufr=new BufferedReader(new FileReader("d:\\combine.txt"));
                TreeSet ts=new TreeSet();
                String line=null;
                while((line=bufr.readLine())!=null){
                        System.out.println(line);
                        ts.add(line);
                }
                Iterator it=ts.iterator();
                while(it.hasNext()){
                        System.out.println(it.next());
                }
                bufr.close();
        }
}
原因在于你添加的line初始化就是个null,怎么会有值呢?

评分

参与人数 1技术分 +1 收起 理由
船长 + 1

查看全部评分

回复 使用道具 举报
放课后小朋友 发表于 2014-1-16 00:36
将TreeSet创建对象的语句移到第一个while循环上面,将ts.add(line);移到第一个while循环中就可以了
import  ...

受教了:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马