package cn.edu.bupt.TxtTools;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class TempString {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
File file = new File("F:\\new.txt");
BufferedReader fr =new BufferedReader(new FileReader(file));
int totalsize = filesize(file);
System.out.println("totale size:"+totalsize+"MB");
int setpartsize = 22;//每部分22MB
String basePath = "F:\\part\\";
String fileName = null;
BufferedWriter fw = null;
String line = "";
for(int i=1;line!=null;i++)
{
fileName = basePath+i+".txt";
file = new File(fileName);
fw = new BufferedWriter(new FileWriter(file));
while (filesize(file)<setpartsize&&(line=fr.readLine())!=null)
//注意顺序,反过来的话有可能会丢失一行(读出,文件到达最大,进入下一for,重新读,导致没有写入)
{
fw.write(line);
fw.newLine();
}
System.out.println(i);
}
fr.close();
fw.close();
}
private static int filesize(File file) throws IOException //返回文件大小
{
FileInputStream fis = new FileInputStream(file);
int size = fis.available()/(1024*1024);
fis.close();
return size;
}
}
================================================================
原创文章,转载请注明链接