完美解决JavaIO流报错 java.io.FileNotFoundException: F:\ (系统找不到指定的路径。)
完美解决 JavaIO 流报错 java.io.FileNotFoundException: F:\ (系统找不到指定的路径。)
错误原因
读出文件的路径需要有被拷贝的文件名,否则无法解析地址
源代码(用于拷贝)
package com.javase.IO.Stream;
import org.junit.Test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyPicture {
@Test
public void copy(){
File srcFile = new File("D:\test.jpg");
File destFile = new File("F:\");
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(srcFile);
fos = new FileOutputStream(destFile);
<span class="hljs-type">byte</span>[] bytes = <span class="hljs-keyword">new</span> <span class="hljs-title class_">byte</span>[<span class="hljs-number">1024</span> * <span class="hljs-number">1024</span>];
<span class="hljs-type">int</span> <span class="hljs-variable">len</span> <span class="hljs-operator">=</span> <span class="hljs-number">0</span>;
<span class="hljs-keyword">while</span>((len = fis.read(bytes)) != -<span class="hljs-number">1</span>){
fos.write(bytes,<span class="hljs-number">0</span>,len);
}
fos.flush();
} <span class="hljs-keyword">catch</span> (IOException e) {
e.printStackTrace();
} <span class="hljs-keyword">finally</span> {
<span class="hljs-keyword">try</span> {
<span class="hljs-keyword">if</span> (fis != <span class="hljs-literal">null</span>) {
fis.close();
}
} <span class="hljs-keyword">catch</span> (IOException e) {
e.printStackTrace();
}
<span class="hljs-keyword">try</span> {
<span class="hljs-keyword">if</span> (fos != <span class="hljs-literal">null</span>) {
fos.close();
}
} <span class="hljs-keyword">catch</span> (IOException e) {
e.printStackTrace();
}
}
}
}
修改后的代码
package com.javase.IO.Stream;
import org.junit.Test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyPicture {
@Test
public void copy(){
File srcFile = new File("D:\test.jpg");
File destFile = new File("F:\test.jpg");
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(srcFile);
fos = new FileOutputStream(destFile);
<span class="hljs-type">byte</span>[] bytes = <span class="hljs-keyword">new</span> <span class="hljs-title class_">byte</span>[<span class="hljs-number">1024</span> * <span class="hljs-number">1024</span>];
<span class="hljs-type">int</span> <span class="hljs-variable">len</span> <span class="hljs-operator">=</span> <span class="hljs-number">0</span>;
<span class="hljs-keyword">while</span>((len = fis.read(bytes)) != -<span class="hljs-number">1</span>){
fos.write(bytes,<span class="hljs-number">0</span>,len);
}
fos.flush();
} <span class="hljs-keyword">catch</span> (IOException e) {
e.printStackTrace();
} <span class="hljs-keyword">finally</span> {
<span class="hljs-keyword">try</span> {
<span class="hljs-keyword">if</span> (fis != <span class="hljs-literal">null</span>) {
fis.close();
}
} <span class="hljs-keyword">catch</span> (IOException e) {
e.printStackTrace();
}
<span class="hljs-keyword">try</span> {
<span class="hljs-keyword">if</span> (fos != <span class="hljs-literal">null</span>) {
fos.close();
}
} <span class="hljs-keyword">catch</span> (IOException e) {
e.printStackTrace();
}
}
}
}