展开全部
没有定拆分规则 以下代码是前5个行为一个txt 其余的为另外一个txt
package com.kidd.baiduzhidao;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class baiduzhidao {
public static void main(String[] args) {
File file = new File("D:"+File.separator+"t1.txt");
String[] ss = readTxt(file);
if(ss==null || ss.length==0){
System.out.println("读取txt内容发生错误,txt内容可能为空.");
return ;
}
file = new File("D:"+File.separator+"1.txt");
if(!writeTxt(file, ss ,0, 5)){
System.out.println("写入第一个txt发生了错误.终止");
return ;
}
file = new File("D:"+File.separator+"2.txt");
if(!writeTxt(file, ss ,5)){
System.out.println("写入第二个txt发生了错误.终止");
return ;
}
}
/**
* 写出数组内容从start开始的所有内容到txt文件
* @param file 待写出的txt文件的File形式
* @param ss 数组对象
* @param start 开始位置
* @return 成功返回true 发生错误返回false
*/
private static boolean writeTxt(File file, String[] ss, int start) {
return writeTxt(file,ss,start,ss.length-start);
}
/**
* 写出数组内容从start位置开始共写出length个 到txt文件
* @param file 待写出的txt文件的File形式
* @param ss 数组对象
* @param start 开始位置
* @param length 写出长度
* @return 成功返回true 发生错误返回false
*/
private static boolean writeTxt(File file, String[] ss,int start, int length) {
FileWriter fWriter;
try {
fWriter = new FileWriter(file, false);
} catch (IOException e) {
e.printStackTrace();
return false ;
}
try {
for(int i = start , k = ss.length ; i < k && i < start+length ; i++){
fWriter.write(ss[i]+"\r\n");
}
} catch (IOException e) {
e.printStackTrace();
if(!closeFileWriter(fWriter)){
fWriter = null ;
}
return false ;
}
if(!closeFileWriter(fWriter)){
fWriter = null ;
}
return true ;
}
/**
* 关闭文件流
* @param fWriter
* @return 成功关闭返回true,发生错误返回false
*/
private static boolean closeFileWriter(FileWriter fWriter) {
if(fWriter==null){
return false;
}
try {
fWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
return true ;
}
/**
* 读取txt文件内容,返回该文本内容的String[]形式
* @param file txt文件的File形式
* @return 该文本内容的String[]形式 若读取发生错误 则返回null
*/
private static String[] readTxt(File file) {
Scanner scanner;
try {
scanner = new Scanner(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
}
String string = "";
/**
* 读取到的每一行用,分割
*/
while (scanner.hasNext()) {
string += scanner.nextLine() + ",";
}
scanner.close();
return string.split(",");
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询