我有这个函数遍历一个目录,应该读入每个文件并将其写出到生成的HTML文件中。 BufferedReader应该正确读入,因为我在其他地方使用相同的东西。但是,在生成的HTML文件中,我只能从目录中的原始文件中获取其他每行数据。这是应该做到这一点的方法:无法让BufferedWriter从文件中写出所有数据
// Tests to see if "File" is actually a directory or file,
// then writes out the file if it passes the test
void writeFiles(File directory, BufferedWriter bw) {
try{
for(File file : directory.listFiles()){
if(!file.isDirectory()) {//is a file lets read it
FileInputStream filestream = new FileInputStream(file);
DataInputStream in = new DataInputStream(filestream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String buff = new String();
bw.write("<b>////////////////////////////////</b><br/>");
bw.write("<b>File: " + file.getName() + "</b><br/>");
bw.write("<b>////////////////////////////////</b><br/>");
while((buff=br.readLine()) != null){
bw.write(br.readLine() + "<br/>");
}
bw.write("`<br/>`");
bw.write("`<br/>`");
}else {//will make it a recursive search
writeFiles(file, bw);
}
}
}catch(FileNotFoundException fnf){
fnf.printStackTrace();
}
catch(IOException io){
io.printStackTrace();
}
}
我很抱歉代码在问题中的格式不正确。由于HTML,预先格式化的文本不会让我的代码正确显示。不过,我绝对认为我的代码中存在File I/O问题。有没有人知道它是BufferedReader还是BufferedWriter?谢谢。
您应该声明字符串的buff是这样的:'字符串的buff;'。你不应该初始化它,因为它总是被覆盖在这里:'(buff = br.readLine())' – 2012-07-11 19:47:57