background
要在很大的數據量中查詢其中某些flag的值是否正常,debug看肯定不行,我就把flag都輸出到log中,然后下班回家?;氐郊抑邪l現log有2G多,編輯器打不開,然后就想寫個分割器。code 貼到下面
code
import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileWriter;import java.io.IOException;import java.util.NoSuchElementException;import java.util.Scanner;public class FileSplit { public static String PATH = "D://FileSplit"; public static String FILE_NAME = "E://xxx//data//logs//LogWriterLog.txt"; public static int MAX_LINE_NUM = 100000; public static int FILE_INDEX = 1; public static void main(String[] args) { FileInputStream fis = null; FileWriter fw = null; BufferedWriter bw = null; try { File file = new File(FILE_NAME); fis = new FileInputStream(file); Scanner sc = new Scanner(fis); String nextLine = sc.nextLine(); String lineSeparator = System.get Note代碼很簡單,但是要考慮內存問題,文件太大,如果都加載到內存很容易就OutOfMemory,所以我用了Scanner來掃描整個文件,這樣只會掃描文件不會加載整個文件到內存,不用擔心內存問題。
新聞熱點
疑難解答