A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 12300123 中级黑马   /  2015-4-17 20:05  /  895 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.*;
  2. //把d盘下的a.txt文件复制到f盘的b.txt中
  3. class CopyTest
  4. {
  5.         public static void main(String[] args) throws IOException
  6.         {
  7.                 FileInputStream fis=new FileInputStream("d:\\a.txt");
  8.                 FileOutputStream fos=new FileOutputStream("f:\\b.txt");

  9.                 int x=0;
  10.                 while ((x=fis.read())!=0)
  11.                 {
  12.                         fos.write(x);
  13.                 }
  14.                 fis.close();
  15.                 fos.close();
  16.                
  17.                
  18.         }
  19. }
复制代码

我在d盘创建了一个a.txt文件,用FileInputString 和FileOutputStream实现复制功能,复制到f盘下,命名为b.txt,但是我的数据源a.txt大小不到1kb,为什么复制到f盘后b.txt大小为2.5M,很是奇怪。求解答。代码我也贴出来

1 个回复

倒序浏览
因为read()方法读到末尾时返回的是-1,而不是0
返回:
读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马