黑马程序员技术交流社区

标题: TreeSet 怎么接收从本地文档读取的数据呢? [打印本页]

作者: 于洋    时间: 2014-1-15 19:05
标题: TreeSet 怎么接收从本地文档读取的数据呢?
     求高手解惑 卡一下午了  - -
                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....


作者: 黄晓鑫    时间: 2014-1-15 19:44
把TreeSet集合放到循环里就有了
作者: 放课后小朋友    时间: 2014-1-16 00:36
将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,怎么会有值呢?
作者: 于洋    时间: 2014-1-16 21:01
放课后小朋友 发表于 2014-1-16 00:36
将TreeSet创建对象的语句移到第一个while循环上面,将ts.add(line);移到第一个while循环中就可以了
import  ...

受教了:handshake




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2