文件IO操作(文件复制java版本)

难易程度:★★

重要性:★★★

网易的面试中层要求手写实现文件的复制;http://java.io包下类数量庞大,求职者应该掌握基本的IO文件操作,在求职面试过程中,文件复制出镜率较高。

// 通过字节流实现文件的复制
    private void readStream(String input, String outPut) throws Exception {
        try (
                FileInputStream fis = new FileInputStream(input);
                BufferedInputStream bis = new BufferedInputStream(fis);

                FileOutputStream fos = new FileOutputStream(outPut);
                BufferedOutputStream bos = new BufferedOutputStream(fos);
             ) {

            byte[] b = new byte[1024];
            int len = 0;
            while ((len = bis.read(b)) != -1) {
                bos.write(b, 0, len);
            }
            bos.flush();

        }
    }
//通过字符流实现文件的复制
    private void read(String input, String output) throws IOException {
        try (
                FileInputStream fis = new FileInputStream(input); 
                InputStreamReader isr = new InputStreamReader(fis);
                BufferedReader br = new BufferedReader(isr);

                FileOutputStream fos = new FileOutputStream(output);
                OutputStreamWriter osw = new OutputStreamWriter(fos);
                PrintWriter pw = new PrintWriter(osw)) {

            char[] buf = new char[1024];
            int len = 0;
            while ((len = br.read(buf)) != -1) {
                pw.write(buf, 0, len);
            }
            pw.flush();
        }
    }

更多原创技术分享,请关注公众号“菜鸟名企梦

猜你喜欢

转载自blog.csdn.net/liewen_/article/details/82925469