
java循环写入还是会覆盖之前的内容,代码如下
publicstaticvoidsqlitFileData(Stringfilepath,StringsqlitPath,intCountFile)throwsIOExc...
public static void sqlitFileData(String filepath, String sqlitPath,
int CountFile) throws IOException {
FileWriter fs = null;
BufferedWriter fw=null;
FileReader fr = new FileReader(filepath + "\\test.txt");
BufferedReader br = new BufferedReader(fr);
int i = 1;
LinkedList<FileWriter> WriterLists=new LinkedList<FileWriter>();
LinkedList<BufferedWriter> fwLists=new LinkedList<BufferedWriter>();
for (int j = 1; j <= CountFile; j++) {
fs = new FileWriter(sqlitPath + "//12" + j + ".txt", true);
fw=new BufferedWriter(fs);
WriterLists.add(fs);
fwLists.add(fw);
}
while (br.ready()) {
String currentline;
for (Iterator<BufferedWriter> iterator = fwLists.iterator(); iterator.hasNext();) {
BufferedWriter type = (BufferedWriter) iterator.next();
if(i <= CountFile)
{
currentline = br.readLine();
if(currentline != null)
type.write(currentline + "\r\n");
System.out.println(currentline);
i++;
}else {
i = 1;
break;
}
}
}
br.close();
fr.close();
for (Iterator<BufferedWriter> iterator = fwLists.iterator(); iterator.hasNext();) {
BufferedWriter object = (BufferedWriter) iterator.next();
object.close();
}
for (Iterator<FileWriter> iterator = WriterLists.iterator(); iterator.hasNext();) {
FileWriter object = (FileWriter) iterator.next();
object.close();
}
}
请高手帮我看看哪有问题 展开
int CountFile) throws IOException {
FileWriter fs = null;
BufferedWriter fw=null;
FileReader fr = new FileReader(filepath + "\\test.txt");
BufferedReader br = new BufferedReader(fr);
int i = 1;
LinkedList<FileWriter> WriterLists=new LinkedList<FileWriter>();
LinkedList<BufferedWriter> fwLists=new LinkedList<BufferedWriter>();
for (int j = 1; j <= CountFile; j++) {
fs = new FileWriter(sqlitPath + "//12" + j + ".txt", true);
fw=new BufferedWriter(fs);
WriterLists.add(fs);
fwLists.add(fw);
}
while (br.ready()) {
String currentline;
for (Iterator<BufferedWriter> iterator = fwLists.iterator(); iterator.hasNext();) {
BufferedWriter type = (BufferedWriter) iterator.next();
if(i <= CountFile)
{
currentline = br.readLine();
if(currentline != null)
type.write(currentline + "\r\n");
System.out.println(currentline);
i++;
}else {
i = 1;
break;
}
}
}
br.close();
fr.close();
for (Iterator<BufferedWriter> iterator = fwLists.iterator(); iterator.hasNext();) {
BufferedWriter object = (BufferedWriter) iterator.next();
object.close();
}
for (Iterator<FileWriter> iterator = WriterLists.iterator(); iterator.hasNext();) {
FileWriter object = (FileWriter) iterator.next();
object.close();
}
}
请高手帮我看看哪有问题 展开
1个回答
展开全部
我这里在JDK1.7环境下面试了,并没有发现什么问题。
另外, 你也可以在你的环境下尝试下面的内容
type.write(currentline + "\r\n");
换成
type.append(currentline + "\r\n");
另外, 你也可以在你的环境下尝试下面的内容
type.write(currentline + "\r\n");
换成
type.append(currentline + "\r\n");
追问
还是没找到错误
用了另外的算法写入
多谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |