• IO流常见错误--Java学习


    需求:使用IO流将一个文件的内容复制到另外一个文件中去

    文件"good boy.txt"位于D盘根目录下,要求将此文件的内容复制到c:\myFile.txt中

    代码:

    import java.io.*;

    public classInputAndOutputFile{

      public static void main(String[]args){

        FileInputStream fis=null;

        FileOutPutStream fos=null;

        try{  //1.创建输入流对象,负责读取D:/good boy.txt文件

          fis=new FileInputStream("D:/good boy.txt");

          //2.创建输出流对象

          fos=new FileOutputStream("C:/myFile.txt",true);

          //3.创建中转站数组,存放每次读取的内容

          byte[] words=new byte[1024];

          //4.通过循环实现文件读写

          inte len=-1;

          while((len=fis.read(words))!=-1){

          fos.write(words,0,len);

          }

          //5强制清理缓冲区

          fos.flush();

          System.out.println("复制完成,请查看文件!");

        }catch(FileNotFoundExcepton e){

          e.printStackTrace();

        }catch(IOException e){

          e.printStackTrace();

        }finally{
        //6.关闭流

        try{

          fis.close();

          fos.close();

        }catch(IOException e){

          e.printStackTrace();

        }

      }

    }

    常犯错误出现在while循环写入的地方:

    错误代码:

    while((fis.read())!=-1){    //错误之处在这里:此时fis.read();已实现第一次读写,所以words中缓存的字符就少了第一位,导致结果错误。
      fis.read(words);//读取文件

      fos.write(words,0,words.length);//写入文件

    }

     在学习java,但是开发工具不全的朋友,可以进群256242993找群主领取哦

  • 相关阅读:
    Feb292012 个人核心竞争力的构建
    让读书成为一种习惯
    软件工厂方法(二):软件工厂应用
    Scrum之 站立例会
    信息系统开发平台OpenExpressApp - AutoUI自动生成界面
    信息系统开发平台OpenExpressApp-内置支持的属性编辑方式
    信息系统开发平台OpenExpressApp - 订单示例(Getting Started)
    需求入门: 原型开发
    信息系统开发平台OpenExpressApp - 学习必备知识
    从IT方法论来谈RUP
  • 原文地址:https://www.cnblogs.com/xsns/p/6520076.html
Copyright © 2020-2023  润新知