目的很简单,就是将一个文件里面的内容复制到另一个文件中。但是复制后得到的文件为什么比源文件小,没有完全复制源文件?我的代码如下:
public static void main(String[] args)
{
BufferedReader reader = null;
BufferedWriter writer=null;
BufferedOutputStream out=null;
BufferedInputStream in=null;

try {
reader=new BufferedReader(new FileReader("e:\\result.xml"));
writer=new BufferedWriter(new FileWriter("e:\\tmp.xml"));

String s;
while((s=reader.readLine())!=null)
{
writer.write(s);
}

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
try {
reader.close();
writer.close();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}我如果把String s;
while((s=reader.readLine())!=null)
{
 writer.write(s);
}
改为 int b;
while((b=reader.read())!=-1)
{
writer.write(b);
}
却能完全复制,这是为什么啊?小弟刚学习java的文件和流,请高手指教,我的分不多了,全在这里了。谢谢!