代码出问题地方如下,问题描述,在IDEA上运行是ok的,但是打jar包后,运行就走到了 System.out.println("文件夹没有文件存在!")这个地方去了,
@Autowired
Ftpconfig ftpconfig;
private final Logger log = LoggerFactory.getLogger(this.getClass());
XSSFWorkbook wb = null;
XSSFSheet sheet = null;
public void excel2oracel(){
String localFilePath1=ftpconfig.getLocalFilePath();
String localFilePath=localFilePath1+"/PQC";
ClassPathResource resource = new ClassPathResource(localFilePath);
File file = new File(localFilePath);
if (!file.exists()) {
System.out.println("文件夹没有文件存在!");
return;
}
改成这样
if (!file.exists()) {
file.mkdirs();
System.out.println("文件夹路径不存在。创建该文件夹!");
}
没有用,创建了,还是找不到这个文件夹
File file=null;
try {
file=ResourceUtils.getFile(localFilePath);
file.mkdirs();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
if (!file.exists()) {
System.out.println("TEST--->文件夹没有文件存在!,创建文件夹");
return;
}
local.filepath=X:/excel 文件路径是本地的一个磁盘文件夹,根据每天去获取对应的excel,IDEA上运行没有问题,部署到本地就不行了
使用jar包文件夹路径应该是一个绝对路径,或者打包方式改为war包。
绝对路径 这个 不太 明白,能否举个例子吗,路径我就是 X:/excel 去提取的 是这个下面的每天对应的日期规则命名的excel
@nieaitan520: ClassPathResource resource = new ClassPathResource("文件夹路径");
File sourceFile = resource.getFile();
InputStream fis = resource.getInputStream();用文件流去操作文件可以尝试下
@ethan_soul: 之前也这样做个,但是报错在
ClassPathResource resource = new ClassPathResource("文件夹路径");报错classpath 加路径不存在。
@nieaitan520: 我描述有问题,这是一个资源地址,不是文件夹地址,是要读取文件资源,获取文件流的
localFilePath1 打印出来看一下呢!ftpconfig.getLocalFilePath() 从代码来看只有这里是未知的,所以应该是这个获取配置出问题了,
路径都没有问题,IDEA上运行是OK的,知识打jar包部署后报错路径找不到,最后妥协了,将文件夹放到jar包同级下面,部署后可以了,搞了两天,累了。