java文件流输入输出处理案例

文章目录

  • 案例1: 把 D:/toWord.docx 用文件流的形式,加载到 D:/getWord.docx 中
  • 案例2: 把 D:/toWord.docx 用文件流的形式,加载到 D:/get2Word.docx 中
  • 案例3:把 D:/toWord.docx 用文件流的形式,加载到 D:/get3Word.docx 中
  • 案例4: 把 D:/toWord.docx 用文件流的形式,加载到 D:/get4Word.docx 中

案例1: 把 D:/toWord.docx 用文件流的形式,加载到 D:/getWord.docx 中

传统的方法

 public static void main(String[] args) {
        //加载输入文件
        File file = new File("D:/toWord.docx");
        //定义输入流
        InputStream inputStream = null;
        try{
            inputStream = new FileInputStream(file);
            //定义输出流
            int index;
            //定义传输过程载体
            byte[] bytes = new byte[1024];
            //定义输出流
            OutputStream outputStream = new FileOutputStream("D:/getWord.docx");
            while ((index = inputStream.read(bytes)) != -1) {
                outputStream.write(bytes, 0, index);
                outputStream.flush();
            }
            //以下可以写在 finally 中
            inputStream.close();
            outputStream.close();
        }catch (Exception ex){
            ex.printStackTrace();
        }

    }

案例2: 把 D:/toWord.docx 用文件流的形式,加载到 D:/get2Word.docx 中

采用 inputStream.available 的方法

    public static void main(String[] args) {
        //加载输入文件
        File file = new File("D:/toWord.docx");
        //定义输入流
        InputStream inputStream = null;
        try{
            inputStream = new FileInputStream(file);
            //判断 inputStream 空指针的方法
            int count = 0;
            while (count == 0) {
                count = inputStream.available();
            }
            byte[] bytes = new byte[count];
            inputStream.read(bytes);
            //定义输出流
            OutputStream outputStream = new FileOutputStream("D:/get2Word.docx");
            outputStream.write(bytes, 0, bytes.length);
            //以下可以写在 finally 中
            inputStream.close();
            outputStream.flush();
        }catch (Exception ex){
            ex.printStackTrace();
        }

    }

案例3:把 D:/toWord.docx 用文件流的形式,加载到 D:/get3Word.docx 中

采用 FileCopyUtils 工具类

    public static void main(String[] args) {
        //加载输入文件
        File file = new File("D:/toWord.docx");
        //定义输入流
        InputStream inputStream = null;
        try{
            inputStream = new FileInputStream(file);
            //定义输出流
            OutputStream outputStream = new FileOutputStream("D:/get3Word.docx");
            FileCopyUtils.copy(inputStream,outputStream);
            
            inputStream.close();
            outputStream.flush();
            outputStream.close();
            
        }catch (Exception ex){
            ex.printStackTrace();
        }

    }

案例4: 把 D:/toWord.docx 用文件流的形式,加载到 D:/get4Word.docx 中

采用 FileCopyUtils 工具类

    public static void main(String[] args) {
        try{
            //定义输出流
            OutputStream outputStream = new FileOutputStream("D:/get4Word.docx");

            Files.copy(Paths.get("D:/toWord.docx"),outputStream);
            
            outputStream.flush();
            outputStream.close();

        }catch (Exception ex){
            ex.printStackTrace();
        }

    }

你可能感兴趣的:(JAVA基础知识)