黑马程序员技术交流社区
标题:
I/O流
[打印本页]
作者:
losttemp
时间:
2016-5-20 22:36
标题:
I/O流
将用户在控制台上输出的5个数字按照大小顺序存入
* 到D:\\xx.txt中并以相反的的顺序读出显示在控制台上
public class Test03 {
public static void main(String[] args) throws IOException {
//File file = new File("num1.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter("num1.txt"));//1.创建文件输出流关联文件对象
Scanner sc = new Scanner(System.in);//2.创建键盘录入对象
System.out.println("请输入一个整数");
TreeSet<Integer> ts = new TreeSet<Integer>(new Comparator<Integer>() { //3.创建treeset集合,传入比较器,按从大到小排序
@Override
public int compare(Integer i1, Integer i2) {
int num = i2.compareTo(i1);
return num == 0 ? 1 : num;
}
});
while (ts.size() < 5) {//4.以输入的数据的长度做判断,如果小于5就将数据转换成integer类型存入
// try {
String line = sc.nextLine();
Integer i = Integer.parseInt(line);
ts.add(i);
//} catch (Exception e) {
//System.out.println("类型输入错误,请重新输入");
//}
}
bw.write(ts.toString()); //5.输出流写出对象,转换成字符串
bw.close();//6.关流
BufferedReader br = new BufferedReader(new FileReader("num1.txt"));//7.创建文件输入流对象,关联文件
String line = br.readLine();//8.每次读取一行
StringBuffer sb = new StringBuffer(line.substring(1, line.length() - 1)); //9.创建stringbuffer对象获取字符串的信息
sb = sb.reverse();//.insert(0, "[").append("]"); //10.反转字符串
System.out.println(sb);
br.close(); //关流
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2