![](/img/trans.png)
[英]Using BufferedWriter to get input from the user and write it to a file
[英]Cannot get BufferedWriter to write out all the data from a file
我具有遍历目录的功能,应该读取每个文件并将其写到生成的HTML文件中。 BufferedReader应该正确读入,因为我在其他地方使用了相同的东西。 但是,在生成的HTML文件中,我仅从目录中的原始文件中获取每隔一行数据。 这是应该完成此操作的方法:
// 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,因此预格式化的文本不会让我的代码正确显示。 但是,我绝对认为我的代码中存在文件I / O问题。 有谁知道它是BufferedReader还是BufferedWriter? 谢谢。
这是您的问题:
while((buff=br.readLine()) != null){
bw.write(br.readLine() + "<br/>");
}
您两次调用br.readLine()。
尝试:
while((buff=br.readLine()) != null){
bw.write(buff + "<br/>");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.