java文件操作报错:java.io.FileNotFoundException:D:\..(拒绝访问)

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * 文件的复制:
 * 从一个输入流中读取数据,然后通过输出流写入目标位置
 * 一边读一边写
 */
public class CopyFileDemo {
	private static void copy(String src, String target) {
		File srcFile = new File(src);
		File targetFile = new File(target);
		
		InputStream in = null;
		OutputStream out = null;
		try {
			in = new FileInputStream(srcFile);
			out = new FileOutputStream(targetFile);

			byte[] b = new byte[1024];
			int len = -1;
			while ((len = in.read(b)) != -1) {
				out.write(b, 0, len);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (in != null)
					in.close();
				if (out != null)
					out.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	public static void main(String[] args) {
		System.out.println("Start copy...");
		copy("D:\\dwa.jpg", "D:\\dp_work\\temp\\");
		System.out.println("copy success!");
	}
}

运行时报错信息:
java文件操作报错:java.io.FileNotFoundException:D:\..(拒绝访问)_第1张图片
试着切换盘符,切换其他文件夹,以及修改文件夹的只读属性,都没有解决问题,仍然提示“拒绝访问“。
1
错误原因在这行代码

copy("D:\\dwa.jpg", "D:\\dp_work\\temp\\");

FileOutputStream读取流的时候如果是文件夹,就会出错,无论怎么读,都拒绝访问,应该在读取的目录后面加上文件名!将错误代码修改为:

copy("D:\\dwa.jpg", "D:\\dp_work\\temp\\dwa.jpg");

你可能感兴趣的:(#,Java文件I/O)