大きなサイズのファイルとか、テキストエディターで
開けなかったりする場合に、使用すると便利です。
public static void main(String[] args) {
}
を実装して使ってみてください。
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class DivideFileClass { public boolean divideFile(File fi, int row) { return this.divideFile(fi, row, "UTF-8", "UTF-8"); } public boolean divideFile(File fi, int row, String iCode, String oCode) { BufferedReader br = null; BufferedWriter bw = null; FileInputStream fis = null; FileOutputStream fos = null; InputStreamReader isr = null; OutputStreamWriter osw = null; String line = null; int count = 0; int fileNo = 1; try { fis = new FileInputStream(fi); isr = new InputStreamReader(fis, iCode); br = new BufferedReader(isr); fos = new FileOutputStream(fi.getPath() + String.valueOf(fileNo)); osw = new OutputStreamWriter(fos, oCode); bw = new BufferedWriter(osw); while ((line = br.readLine()) != null) { bw.write(line); bw.newLine(); if (count == row) { bw.close(); fileNo++; fos = new FileOutputStream(fi.getPath() + String.valueOf(fileNo)); osw = new OutputStreamWriter(fos, oCode); bw = new BufferedWriter(osw); count = 0; } count++; } bw.close(); } catch (FileNotFoundException e) { e.printStackTrace(); return false; } catch (IOException e) { e.printStackTrace(); return false; } return true; } }
0 件のコメント:
コメントを投稿