Java file stream input and output processing case

Case 1: Load D:/toWord.docx into D:/getWord.docx in the form of a file stream

traditional method

 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();
        }

    }

Case 2: Load D:/toWord.docx into D:/get2Word.docx in the form of a file stream

Use inputStream.available method

    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();
        }

    }

Case 3: Load D:/toWord.docx into D:/get3Word.docx in the form of a file stream

Use FileCopyUtils tool class

    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();
        }

    }

Case 4: Load D:/toWord.docx into D:/get4Word.docx in the form of a file stream

Use FileCopyUtils tool class

    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();
        }

    }

Guess you like

Origin blog.csdn.net/qq_34168515/article/details/112031523