一. 前言
最近又想注册域名,便从TLD List 中下载了已经收录的全世界所有的域名后缀,然后使用Java的IO相关操作,将所有的三位域名后缀提取了出来。先给出下载文件:
所有域名后缀
27.61 KB,下载次数:0[记录]
暂无描述
二. 代码
大体的步骤如下:
1. 先遍历整个文件
2. 遍历的时候判断该文件的每一行内容长度,是否是x位,如果是,则存储在StringBuffer当中
3. 将遍历完成的StringBuffer写入到本地
import java.io.*; import java.util.ArrayList; import java.util.List; /** * 读取所有的域名,提取出三位的域名 */ public class Codes { private static int count;//代码总行数 public static void main(String[] args) throws IOException { // 获取要读取的文件,所有的域名都存在这个文件里 File inFile = new File("C:\\Users\\zhang\\Desktop\\1.txt"); // 存取结果 File outFile = new File("C:\\Users\\zhang\\Desktop\\2.txt"); collatingFiles(inFile,outFile); System.out.println("三位的域名共有:" + count); } public static void collatingFiles(File inFile,File outFile) throws IOException { // 从字符输入流中读取文本 BufferedReader br = new BufferedReader(new FileReader(inFile)); // 存储结果 FileOutputStream os = new FileOutputStream(outFile); String s = null; StringBuffer stringBuffer = new StringBuffer(); while ((s = br.readLine()) != null) { // 每次循环s都保存着一行的内容,如果要获取n位的后缀,则if中写 == n+1 if (s.length() == 4) { // 换行显示 s += "\n"; stringBuffer.append(s); count++; } } // 将StringBuffer转换为字节数组 byte[] bytes = String.valueOf(stringBuffer).getBytes(); os.write(bytes); br.close(); } }
请登录之后再进行评论