目的很简单,就是将一个文件里面的内容复制到另一个文件中。但是复制后得到的文件为什么比源文件小,没有完全复制源文件?我的代码如下:
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的文件和流,请高手指教,我的分不多了,全在这里了。谢谢!
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的文件和流,请高手指教,我的分不多了,全在这里了。谢谢!
解决方案 »
- 新手问题。。。
- 大家能用HttpClient模拟登陆https google网站吗?帮帮下
- 编写一个应用程序,使用一个ArrayList演示Collection接口的功能。谢谢各位大侠!!我是初学者。
- 竟然发现外国人编的java冒泡算法是错的,请高手指教
- 弱弱的问一句,如何回答别人提出的FAQ来提高自己的信誉分
- JTree的问题请教!
- 如何使用反反编译程序jade?
- 需java读取oracle中blob字段的图片信息,并能保存或显示该图片。(非jsp程序)
- 怎样向建好关系的表中存纪录?
- 请教广州的朋友,广州哪个书店卖英文计算机书(特别是java)比较齐全?初来广州,不熟悉,谢谢!
- 很奇怪的一个问题.java中run 函数得不到参数.
- 用注释的代码就出错?原理不是一样的么?
这样就不会出错了
所以用readLine() 方法读的时候 会比原来的文件小
因为read() 方法不会把换行符去掉 所以大小一样