首页 > 代码库 > Ip合并
Ip合并
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.List;public class Fileinfo extends Object { private FileWriter writer; private BufferedWriter bw; private FileReader reader; private BufferedReader br; private FileReadCallback callbackfun; public Fileinfo() { super(); } public Fileinfo(FileReadCallback callbackfun) { super(); this.callbackfun = callbackfun; } public void setMyCallback(FileReadCallback callbackfun) { this.callbackfun = callbackfun; } public boolean deleteFile(String sPath) { boolean flag = false; File file = new File(sPath); // 路径为文件且不为空则进行删除 if (file.isFile() && file.exists()) { file.delete(); flag = true; } return flag; } public boolean IsFileExist(String sPath) { boolean flag = false; File file = new File(sPath); // 路径为文件且不为空则进行删除 if (file.isFile() && file.exists()) { flag = true; } return flag; } public boolean CheckAndCreateFile(String filepath) throws IOException { boolean flag; File file = new File(filepath); if (!file.isFile()) { file.createNewFile(); } return IsFileExist(filepath); } public void Writeindex(String filepath, String value) { try { if (writer == null) { CheckAndCreateFile(filepath); writer = new FileWriter(filepath, false); } if (bw == null) bw = new BufferedWriter(writer); writer = new FileWriter(filepath, false); bw = new BufferedWriter(writer); bw.write(value); bw.flush(); bw.close(); // System.gc(); } catch (IOException e) { e.printStackTrace(); } } public int Readlogindex(String filepath) { int result = 0; if (!IsFileExist(filepath)) { return result; } try { if (reader == null) reader = new FileReader(filepath); if (br == null) br = new BufferedReader(reader); try { String str = null; if ((str = br.readLine()) != null) { result = Integer.parseInt(str); } } finally { // reader.close(); // br.close(); } } catch (IOException e) { e.printStackTrace(); } return result; } public void Write(String filepath, boolean append, List<String> datalist) { try { if (writer == null) { CheckAndCreateFile(filepath); writer = new FileWriter(filepath, append); } if (bw == null) bw = new BufferedWriter(writer); for (String index : datalist) { bw.write(index); bw.newLine(); } bw.flush(); } catch (IOException e) { e.printStackTrace(); } } public void Write(String filepath, boolean append, String value) { try { if (writer == null) { CheckAndCreateFile(filepath); writer = new FileWriter(filepath, true); } if (bw == null) bw = new BufferedWriter(writer); bw.write(value); bw.newLine(); bw.flush(); } catch (IOException e) { e.printStackTrace(); } } public void Read(String filepath) { try { FileReader reader = new FileReader(filepath); BufferedReader br = new BufferedReader(reader); String str = null; while ((str = br.readLine()) != null) { if (callbackfun != null) { callbackfun.read(str); } } } catch (IOException e) { e.printStackTrace(); } } protected void finalize() throws Throwable { super.finalize(); System.out.println("finalize"); if (writer != null) writer.close(); if (bw != null) bw.close(); if (reader != null) reader.close(); if (br != null) br.close(); }}
import java.util.ArrayList;import java.util.List;import com.chexun.project.unit.*;public class IpMerge implements FileReadCallback { class Ipdata { long start; long end; String area; public long getStart() { return start; } public void setStart(long start) { this.start = start; } public long getEnd() { return end; } public void setEnd(long end) { this.end = end; } public String getArea() { return area; } public void setArea(String area) { this.area = area; } public Ipdata(String str) { super(); parse(str); } @Override public String toString() { return start + ", " + end + ", " + area; } private void parse(String str){ String[] tmp = str.split(","); if (3 == tmp.length){ start = Long.parseLong(tmp[0]); end = Long.parseLong(tmp[1]); area = tmp[2]; } } } private final List<String> iplist = new ArrayList<String>(); private Ipdata lastipdata; long sum; public void read(String str) { sum++; Ipdata ipdata = http://www.mamicode.com/new Ipdata(str);"user.dir"); String path = dir + "/resources/iptables.txt"; String outpathpath = dir + "/resources/iptablesnew.txt"; String path1 = "src/main/java/com.chexun.project.IpMerge/resources/iptables.txt"; Fileinfo fileinfo = new Fileinfo(this); fileinfo.Read(path); fileinfo.Write(outpathpath, false, iplist); fileinfo =null; System.gc(); } public static void main(String[] args) { IpMerge ipmerge = new IpMerge(); ipmerge.run(); }}
public interface FileReadCallback { void read(String Str); }
Ip合并
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。