欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

文件读写操作

程序员文章站 2022-07-12 19:28:02
...
     /** 通过IO进行批量读写 */
        byte[] array = new byte[512];
        FileInputStream fin3 = null;
        FileOutputStream fout3 = null;
        try
        {
            fin3 = new FileInputStream(srcFilePathName);
            fout3 = new FileOutputStream(targetFilePathName);
            start = System.currentTimeMillis();
            while (fin3.read(array) != -1)
            {
                fout3.write(array);
            }
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                fin3.close();
                fout3.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
        end = System.currentTimeMillis();
        long time3 = end - start;
        System.out.println("IO_byteArray: " + time3);

        /** 通过IO Buffer实现文件读写 */
        FileInputStream fin4 = null;
        FileOutputStream fout4 = null;
        BufferedInputStream bufferInput = null;
        BufferedOutputStream bufferOutput = null;
        int c = -1;
        try
        {
            fin4 = new FileInputStream(srcFilePathName);
            fout4 = new FileOutputStream(targetFilePathName);
            bufferInput = new BufferedInputStream(fin4);
            bufferOutput = new BufferedOutputStream(fout4);
            start = System.currentTimeMillis();
            while ((c = bufferInput.read()) != -1)
            {
                bufferOutput.write(c);
            }
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                bufferInput.close();
                bufferOutput.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
        end = System.currentTimeMillis();
        long time4 = end - start;
        System.out.println("IO_Buffer: " + time4);