文件上传问题 java.io.FileNotFoundException: f:\ (系统找不到指定的路径。)

时间:2023-01-13 08:34:51
现在是上传单个文件,代码中的文件及目录绝对存在,检查了N遍了
多谢各位了
代码如下
package com.baijw.test;

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

public class UploadFile {

public static void main(String[] args) {
UploadFile uploadFile = new UploadFile();
String filePath = "D:/My Documents/baijw/rrr.txt";
String toFilePath = "f:/";
uploadFile.upload(filePath, toFilePath);

}

public void upload(String filePath, String toFilePath) {
File file = new File(filePath);
if (file.isDirectory()) {
upLoadFiles(filePath, toFilePath);
} else {
UploadFile(filePath, toFilePath);
}
}

private void UploadFile(String filePath, String toFilePath) {
File file = new File(filePath);
try {
FileInputStream fis = new FileInputStream(file);
FileOutputStream fos = new  FileOutputStream(toFilePath);
//  int c=0;
//  try {
//  while((c=fis.read())!=-1){
//  fos.write(c);
//  }
byte[] buffer = new byte[8192];
    int c = 0;
while ((c = fis.read(buffer)) > 0) {
fos.write(buffer, 0, c);
}
fos.close();
fis.close();

} catch (Exception e) {
e.printStackTrace();
}
}

private void upLoadFiles(String filePath, String toFilePath) {
File file = new File(filePath);
File[] files = file.listFiles();
try {
FileOutputStream fos = new FileOutputStream(toFilePath);
for (File file1 : files) {
FileInputStream fis = new FileInputStream(file1);
int c = 0;
while ((fis.read()) != -1) {
fos.write(c);
}
fis.close();
}
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

}

8 个解决方案

#1


String filePath = "D:\\My Documents\\baijw\\rrr.txt";

#2


贴异常信息出来分析,现在是无从下手

#3


你的String toFilePath = "f:/"; 
不是一个合法的文件名,是一个文件夹,你往文件夹直接写字节流。。。系统当然会报错找不到指定文件了。出错信息很明显了,找不到文件f:\, 这个是文件夹,不是文件!!!随便改一个f:/abc.txt就可以了

#4


解决了,是没有写文件名的问题,我开始以为文件夹也可以呢?呵呵

#5


看看!

#6


看看哈,朋友。。。

#7


看到了

#8


我的文件名写了,也报错哦

#1


String filePath = "D:\\My Documents\\baijw\\rrr.txt";

#2


贴异常信息出来分析,现在是无从下手

#3


你的String toFilePath = "f:/"; 
不是一个合法的文件名,是一个文件夹,你往文件夹直接写字节流。。。系统当然会报错找不到指定文件了。出错信息很明显了,找不到文件f:\, 这个是文件夹,不是文件!!!随便改一个f:/abc.txt就可以了

#4


解决了,是没有写文件名的问题,我开始以为文件夹也可以呢?呵呵

#5


看看!

#6


看看哈,朋友。。。

#7


看到了

#8


我的文件名写了,也报错哦