Java中I/O流对文件进行复制粘贴及可能会出现的问题

需求:将E:\电脑桌面壁纸\MisakaMikoto.jpg图片文件复制到D:\某科学的超电磁炮 目录下

public class Test {
     
    public static void main(String[] args) throws IOException {
     
        //创建字节输入流对象,关联数据源文件路径
        FileInputStream fis = new FileInputStream("E:\\电脑桌面壁纸\\MisakaMikoto.jpg");

        //创建字节输出流对象,关联目的地文件路径
        FileOutputStream fos = new FileOutputStream("D:\\某科学的超电磁炮");

        byte[] bytes = new byte[2048];

        int len;
        //循环读取
        while ((len = fis.read(bytes)) != -1) {
     
        	//在循环中,写出数据
            fos.write(bytes,0,len);
        }

        fos.close();
        fis.close();
    }
}

运行结果:Java中I/O流对文件进行复制粘贴及可能会出现的问题_第1张图片
因为我们选择的目的地文件路径是文件夹, 而不是一个具体的文件, 所以会系统会抛出该错误。就像往文件夹中传递数据"我真帅", 也是传到某一个txt文件中,所以我们更正下代码:

public class Test {
     
    public static void main(String[] args) throws IOException {
     
        //创建字节输入流对象,关联数据源文件路径
        FileInputStream fis = new FileInputStream("E:\\电脑桌面壁纸\\MisakaMikoto.jpg");

        //创建字节输出流对象,关联目的地文件路径
        FileOutputStream fos = new FileOutputStream("D:\\某科学的超电磁炮\\MisakaMikoto.jpg");

        byte[] bytes = new byte[2048];

        int len;
        //循环读取
        while ((len = fis.read(bytes)) != -1) {
     
            fos.write(bytes,0,len);
        }

        fos.close();
        fis.close();
    }
}

运行结果:Java中I/O流对文件进行复制粘贴及可能会出现的问题_第2张图片
该图片也成功的拷贝到我们需要的文件夹下Java中I/O流对文件进行复制粘贴及可能会出现的问题_第3张图片

你可能感兴趣的:(Java中I/O流对文件进行复制粘贴及可能会出现的问题)