把以下IP存入一个txt文件编写程序把这些IP按数值大小从小到达排序并打印出来。
61.54.231.245
61.54.231.9
61.54.231.246
61.54.231.48
61.53.231.249
1.[文件] Test6.java ~ 2KB 下载(1)
package com.itheima3;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Set;
import java.util.TreeMap;
/*
* 把以下IP存入一个txt文件编写程序把这些IP按数值大小从小到达排序并打印出来。
* 61.54.231.245
* 61.54.231.9
* 61.54.231.246
* 61.54.231.48
* 61.53.231.249
*
* */
public class Test6 {
public static void main(String[] args) throws IOException {
//创建高效字符输出流对象将读到的数据存放到指定文件中
BufferedWriter bw new BufferedWriter(new FileWriter("Test6.txt"));
//将数据写出到文件中
bw.write("61.54.231.245");
//每次写完一个数据换行
bw.newLine();
bw.write("61.54.231.9");
bw.newLine();
bw.write("61.54.231.246");
bw.newLine();
bw.write("61.54.231.48");
bw.newLine();
bw.write("61.53.231.249");
bw.close();
//创建高效字符输入流
BufferedReader br new BufferedReader(new FileReader("Test6.txt"));
//创建一个双列集合存放数据
TreeMap map new TreeMap();
String str;
//循环读取文件中的数据
while((strbr.readLine())!null){
//如果读到的数据不为空那么就将读到的数据以“.”进行切割然后存放到一个字符串数组中
String[] split str.split("\\.");
//将数组的每个元素转换成数字然后再将转换后的数字按照IP地址的进制依次乘以256然后相加最终得到一个数字类型的值
int parseInt Integer.parseInt(split[0])*256*256*256
Integer.parseInt(split[1])*256*256
Integer.parseInt(split[2])*256
Integer.parseInt(split[3]);
//将得到的这个数值和原来的字符串以键值对应关系存放到集合中
map.put(parseInt, str);
}
//关流
br.close();
//将集合中所有键存放到一个set集合中
Set keySet map.keySet();
//遍历集合通过键获取值并依次打印结果
for (Integer integer : keySet) {
System.out.println(map.get(integer));
}
}
}
【感谢龙石为本站提供信息共享平台 http://www.longshidata.com/pages/exchange.html】