Java写入文件:不会写入所有需要的文件
我没有主意了,我一整天都在尝试分离一个格式为:Java写入文件:不会写入所有需要的文件,java,Java,我没有主意了,我一整天都在尝试分离一个格式为: AN Aixas AN Aixirivall AN Aixovall AN Andorra la Vella BR Salto do Mandira BR Salto do Norte BR Salto Dollman BR Salto Grande BR Salto Pilao ... 因此,一个以国家名称“AA.txt”输入不同的文件,并将所有城市包含在这些单独的文件中。但是我的程序只写一堆文件,我不知道为什么。 我已经尝试
AN Aixas
AN Aixirivall
AN Aixovall
AN Andorra la Vella
BR Salto do Mandira
BR Salto do Norte
BR Salto Dollman
BR Salto Grande
BR Salto Pilao
...
因此,一个以国家名称“AA.txt”输入不同的文件,并将所有城市包含在这些单独的文件中。但是我的程序只写一堆文件,我不知道为什么。
我已经尝试了所有的编写文件类-相同的结果
这里是结果,所有工作,但对某一堆文件只
代码如下:
package com.fileorganizer;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class File2 implements Cloneable {
static InputStream fis = null;
static BufferedReader br = null;
static String state = "";
static String tmp = "";
static File file = null;
static FileWriter fw = null;
static BufferedWriter bw = null;
public static void main(String[] args) {
int a = 0;
try {
fis = new FileInputStream(
new File(
"/Users/Mihail/Documents/WorkSpace/Parse-Starter-Project-1.8.2/ParseStarterProject/res/raw/cities.txt"));
br = new BufferedReader(new InputStreamReader(fis));
String line = null;
while ((line = br.readLine()) != null) {
state = line.substring(0, 2);
if (state.substring(0, 1).matches("^[A-Z]+$")
&& state.substring(1, 2).matches("^[A-Z]+$")
&& !tmp.equals(state)) {
file = new File(
"/Users/Mihail/Documents/WorkSpace/Parse-Starter-Project-1.8.2/ParseStarterProject/res/raw/countriesFolder/"
+ state + ".txt");
fw = new FileWriter(file.getAbsoluteFile());
bw = new BufferedWriter(fw);
tmp = state;
}
bw.write(line.substring(3) + "\n");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)
br.close();
} catch (Exception ex) {
}
}
}
}
对于这样一个愚蠢的问题,我真的很抱歉。请帮助您没有关闭
bw
任何位置,因此缓冲写入器缓冲区中的内容将丢失。如果您在缓冲写入器中放入足够的内容,缓冲区应填满并写入磁盘。因此,您可能会丢失每个文件末尾的一些内容。如果文件足够小,它可以缓冲整个内容,在关闭文件时一次写入所有内容。