FileInputStream
FileNotFoundException知道问题在哪里,不知道怎么产生的
就一行代码:
Java code
// A:
FileInputStream inputStream = new FileInputStream(new File("D:\\NEW_IMAGE"));//产生异常
// B:
File file = new File("D:\\NEW_IMAGE");
FileInputStream inputStream = new FileInputStream(file);//产生异常
上面两种写法都会产生同一个异常。
可以确定的是D:\\NEW_IMAGE这个目录是存在的。
产生的异常为:
java.io.FileNotFoundException: D:\NEW_IMAGE (拒绝访问。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
Java code
FileInputStream inputStream = new FileInputStream("D:\\NEW_IMAGE\\a.txt"));//这样些就不会产生异常
上面的异常貌似是FileInputStream 不能操作文件夹,只能操作文件。
大家说说我错在什么地方?多谢大家指教。
------解决方案--------------------上面的异常貌似是FileInputStream 不能操作文件夹,只能操作文件。
就是这个原因。
------解决方案-------------------- File
NotFoundException - if the file does not exist, is a directory rather than a regular file, or for some other reason cannot be opened for reading.
------解决方案--------------------判断服务器上有没有文件夹,如果没有就创建,然后再写文件。
------解决方案--------------------FileOutputStream fout = new FileOutputStream("D:/NEW_IMAGE");
DataOutputStream dout = new DataOutputStream(fout);
long start = System.currentTimeMillis();
//读取原文件的输入流
FileInputStream f = new FileInputStream("d:/heihei.RMVB");
DataInputStream d = new DataInputStream(f);
//-创建一个byte类型数组,定义数据包的大小为2048 (2kb)
byte b[] = new byte[2048];
int i = d.read(b);//读取文件的内容返回值是 本次读取到的字节的长度
while(i != -1){
dout.write(b,0,i);
dout.flush();
i = d.read(b);
}
f.close();
d.close();
fout.close();
dout.close();