mrlis

Untitled

Jul 6th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.19 KB | None | 0 0
  1. private static void splitFile(File f, String fileNamePrefix) throws IOException {
  2.         int qtyRaws;
  3.         int qtyFiles = 8;
  4.  
  5.         try (FileReader input = new FileReader(f);
  6.              LineNumberReader count = new LineNumberReader(input)) {
  7.             while (count.skip(Long.MAX_VALUE) > 0) {
  8.             }
  9.  
  10.             qtyRaws = count.getLineNumber() + 1;
  11.         }
  12.  
  13.         String fileName = f.getName();
  14.         Path dir = Files.createDirectory(Paths.get(f.getParent(), "Parts_of_" + fileName));
  15.  
  16.         try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(f)))) {
  17.  
  18.             for (int i = 0; i < qtyFiles; i++) {
  19.                 String filePartName = String.format("%s_%s.%03d", fileNamePrefix, fileName, i);
  20.                 File newFile = new File(dir.toString(), filePartName);
  21.                 try (BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(newFile)))) {
  22.                     for (int j = 0; j < Math.ceil(qtyRaws / qtyFiles); j++) {
  23.                         out.write(reader.readLine());
  24.                         out.newLine();
  25.                     }
  26.                 }
  27.             }
  28.         }
  29.     }
Advertisement
Add Comment
Please, Sign In to add comment