日期:2014-05-20  浏览次数:20769 次

一个关于BufferedWriter的问题?
StringBuffer   buffer=new   StringBuffer();
buffer.append( " <taable   width= '814 '   border= '1 '   cellspacing= '0 '> ");
buffer.append( " <tr> ");
……
FileWriter   f=new   FileWriter( "C:\\html.txt ");
BufferedWriter   br=new   BufferedWriter(f);
br.write(buffer);
……
请问为什么不能写入内容,也没发生异常。就是html.txt里没内容。

------解决方案--------------------
记得关闭啊
------解决方案--------------------
把br.write(buffer);改成以下语句:

br.write(buffer.toString());
br.flush();
br.close();
------解决方案--------------------
同意楼上的
------解决方案--------------------
缓冲块中的内容没有flush到硬盘
------解决方案--------------------
StringBuffer buffer = new StringBuffer();
buffer.append( " <taable width= '814 ' border= '1 ' cellspacing= '0 '> ");
buffer.append( " <tr> ");
FileWriter f = null;

File file1=new File( "c:\\html.txt ");
if(file1.exists())
file1.delete();

try {
f = new FileWriter( "C:\\html.txt ");
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
BufferedWriter br = new BufferedWriter(f);
try {
br.write(buffer.toString());
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
try {
br.flush(); //刷新该流的缓冲。
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
try {
br.close();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
^_^,没事测试写了一下。