zoukankan      html  css  js  c++  java
  • 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);//写入文件

    }

     只为你疑惑解忧,只为给你技能展示,+裙598399936

  • 相关阅读:
    SqlServer数据库正在还原的解决办法
    v-表单自动收集信息
    v-按键修饰符
    v-for列表排序
    class与style的绑定
    v计算属性的应用
    v子向父组件传值
    v传值和传引用
    v-父组件向子组件传值
    练习鼠标悬停切换图片页面
  • 原文地址:https://www.cnblogs.com/xsns/p/6589950.html
Copyright © 2011-2022 走看看