BufferedReader中的readLine方法可以一行行的读,读一行写一行,再做个计数器,读一行递增一次,当计数器到了5000的时候,换个文件写!
解决方案 »
- 求教!!java中方法返回类型可以是接口吗?
- android sqlite问题
- 存在对象数组这么回事吗?
- 用JAVA语言提取Sun LDAP中的密码, 怎么提取不出来啊? 有谁能帮帮我?
- 数据库的连接怎么断不了呢!
- 一个问题,想了很久没有解决方案,线上的朋友给点思路
- UnsatisfiedLinkError: no swt-win32-3347 or swt-win32 in swt.library.path
- ★★★怎样获得已知网页的时间和网页大小★★★
- 怎样用jbuilder调试java类
- 这地方有没有Java高手 真正的!!
- java se 网络编程中遇到的问题
- 关于ArrayList和LinkedList
File file = new File(fileName);
BufferedReader reader = null;
try {
System.out.println("以行为单位读取文件内容,一次读一行");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
//一次读一行,读入null时文件结束
while ((tempString = reader.readLine()) != null) {
//把当前行号显示出来
System.out.println("line " + line + ": " + tempString);
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
int count = 0;
try
{
BufferedReader input = new BufferedReader(
new InputStreamReader(new FileInputStream(
"C:\\Users\\base.txt"), "UTF-8"));
BufferedWriter output = new BufferedWriter(new FileWriter(new File(
"result.sql")));
while ((basedata = input.readLine()) != null)
{
count++;
if(0==(count-1)%5000){
output = new BufferedWriter(new FileWriter(new File(
count+".sql")));
}
output.write(sql);
output.newLine();
}
output.write("commit;");
input.close();
output.close();
}
catch (Exception e)
{
e.printStackTrace();
}
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;public class Test_16 { public static void main(String[] args) throws IOException {
final String SrcFile = "D:\\tmp\\large_file.txt";
final String TargetFolder = "D:\\tmp\\target";
final int MaxShiftLines = 5000;
File targetFolder = new File(TargetFolder);
BufferedReader reader = new BufferedReader(new FileReader(SrcFile));
BufferedWriter writer = null;
try{
String line = null;
int fileIndex = 0;
for(int lineCount=0;(line=reader.readLine())!=null;lineCount++){
if(0==lineCount%MaxShiftLines){
writer = shiftFileWriter(writer,targetFolder,fileIndex);
}
writer.write(line);writer.newLine();
}
}finally{
reader.close();
if(writer!=null)writer.close();
}
} private static BufferedWriter shiftFileWriter(BufferedWriter writer, File targetFolder, int fileIndex) throws IOException {
if(writer!=null){
writer.close();
}
String fileName = "target_"+fileIndex+".txt";
File target = new File(targetFolder,fileName);
return new BufferedWriter(new FileWriter(target));
}}