import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
/**
*根据需求,直接调用静态方法start来执行操作 参数: rows 为多少行一个文件 int 类型 sourceFilePath 为源文件路径 String
* 类型 targetDirectoryPath 为文件分割后存放的目标目录 String 类型
* —分割后的文件名为索引号(从0开始)加’_’加源文件名,例如源文件名为test.txt,则分割后文件名为0_test.txt,以此类推
*/
public class SpileFile {
public static void spile(int rows, String sourceFilePath,
String targetDirectoryPath) {
File sourceFile = new File(sourceFilePath);
File targetFile = new File(targetDirectoryPath);
if (!sourceFile.exists() || rows <= 0 || sourceFile.isDirectory()) {
System.out.println(“源文件不存在或者输入了错误的行数”);
return;
}
if (targetFile.exists()) {
if (!targetFile.isDirectory()) {
System.out.println(“目标文件夹错误,不是一个文件夹”);
return;
}
} else {
targetFile.mkdirs();
}
try {
BufferedReader br = new BufferedReader(new FileReader(sourceFile));
BufferedWriter bw = null;
String str = “”;
String tempData = br.readLine();
int i = 1, s = 0;
while (tempData != null) {
str += tempData + “\r\n”;
if (i % rows == 0) {
bw = new BufferedWriter(new FileWriter(new File(targetFile
.getAbsolutePath()
+ “/” + s + “_” + sourceFile.getName())));
bw.write(str);
bw.close();
str = “”;
s += 1;
}
i++;
tempData = br.readLine();
}
if ((i – 1) % rows != 0) {
bw = new BufferedWriter(new FileWriter(new File(targetFile
.getAbsolutePath()
+ “/” + s + “_” + sourceFile.getName())));
bw.write(str);
bw.close();
br.close();
s += 1;
}
System.out.println(“文件分割结束,共分割成了” + s + “个文件”);
} catch (Exception e) {
}
}
public static void main(String args[]) {
SpileFile.spile(100,
“C:\\Documents and Settings\\Administrator\\桌面\\HotelID.lst”,
“C:\\Documents and Settings\\Administrator\\桌面\\hotel”);
}
}
今天的文章java实现文件分割_java 实现文件分割分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/12535.html