一个服务器可以备案几个网站,亚马逊关联乱码店铺怎么处理,竞价托管公司,万维网域名注册今天#xff0c;创建一个文件夹目录的时候#xff0c;创建多级目录的时候发现#xff0c;自己老是创建失败#xff0c;但是系统显示文件夹创建成功#xff0c;但是你去找文件夹的时候#xff0c;又发现创建失败#xff0c;这里在我成功之后封装了一个创建文件夹的创建对…今天创建一个文件夹目录的时候创建多级目录的时候发现自己老是创建失败但是系统显示文件夹创建成功但是你去找文件夹的时候又发现创建失败这里在我成功之后封装了一个创建文件夹的创建对象。 首先这个文件夹是用来解决本地存储文件和linux上存储文件但是目前我并未在linux上测试但是根据Windows的反馈算是成功了故而写一篇博客记录一下这个困扰了我一天的问题。 思路 既然要上传文件到具体的文件目录下第一步我们需要做的是创建文件目录之后判断这个文件是否存在如果存在那么我们就可以之间写入文件如果不存在那么我们就需要使用mkdir或者mkdirs进行文件创建其中mkdir是创建单个文件目录适用于创建单级文件目录创建mkdirs适合多级目录创建以下我通过配置类来进行创建。
package com.it.common.utils;import com.it.common.constant.DateConstant;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;/**** 创建一个文件上传工具类* author HWZ* date 2023年07月10日 16:17* description*/
public class CreateUpLoadFileUtils {private static Logger logger LoggerFactory.getLogger(CreateUpLoadFileUtils.class);Value(${fds_pro_url})public String rootPath;/*** 定义操作系统的名称*/final static String OS_NAME os.name;/*** 定义操作系统类型为Windows*/final static String OS_WINDOWS windows;/*** 如果是Windows的话那么他的存储路径为 D:/test/data/expxsl* D:/test*/final static String WINDOWS_PATH D:/test/data/expxsl;/*** 如果是其他操作系统这里默认不是Windows就是Linux*/final static String LINUX_PATH /data/expxsl/;/*** 先创建一个文件夹如果当前文件夹不存在就创建一个如果存在就使用当前文件夹*/public static String createFile() {String filePath;//创建一个StringBuilder对象用来存储字符串常量File folder; //,folder1,folder2,folder3//判断一下当前所处的系统环境if (System.getProperty(OS_NAME).toLowerCase().contains(OS_WINDOWS)) {//获取当期日期 并以此时间作为文件夹String dateFoler new SimpleDateFormat(DateConstant.FORMAT_TYPE_5).format(new Date());//通过一个StringBuilder创建一个文件夹 .append(/) File.separator文件分隔符 然后添加一个日期这里我发现一个问题问题解决使用mkdirs创建多级目录也就是D:\test\data\expxsl需要手动创建StringBuilder sb new StringBuilder(WINDOWS_PATH).append(File.separator).append(dateFoler);filePath sb.toString();folder new File(filePath);if(!folder.exists()){//直接创建多级目录boolean flag folder.mkdirs();if(flag){logger.error(CreateUploadFileUtils:createFile创建文件成功);}}else{logger.error(当前文件夹创建失败请检查文件夹是否存在);}// //TODO 目录创建好了接下来就是存放当前具体文件了
// try {
// //异常处理
// //如果当前文件夹下没有具体文件那么就创建该文件
// BufferedWriter bw new BufferedWriter(new FileWriter( filePath File.separator text1.txt));
// bw.write(你好世界111哈哈哈哈!!!);
// bw.close();
// } catch (IOException e) {
// e.printStackTrace();
// }//.append(File.separator).append(dateFoler);//笨一点的方式一级一级的创建不推荐/*//创建一级目录//如果是Windows环境 sb.toString()String filePath sb.toString();//System.out.println(filePath);folder new File(filePath);System.out.println(当前处于Windows环境下);if (!folder.exists()) {boolean flag folder.mkdir();if (flag) {logger.error(CreateUploadFileUtils:createFile创建文件成功1);}}else {logger.error(当前文件夹创建失败请检查文件夹是否存在1);}//创建二级目录sb.append(File.separator data);String filePath1 sb.toString();folder1 new File(filePath1);if(!folder1.exists()){boolean flag folder1.mkdir();if(flag){logger.error(CreateUploadFileUtils:createFile创建文件成功2);}}else{logger.error(当前文件夹创建失败请检查文件夹是否存在2);}//创建三级目录sb.append(File.separator expxsl);String filePath2 sb.toString();folder2 new File(filePath2);if(!folder2.exists()){boolean flag folder2.mkdir();if(flag){logger.error(CreateUploadFileUtils:createFile创建文件成功3);}}else{logger.error(当前文件夹创建失败请检查文件夹是否存在3);}System.out.println(输出当前所在文件路径);System.out.println(System.getProperty(user.dir));//创建4级目录sb.append(File.separatordateFoler);String filePath3 sb.toString();folder3 new File(filePath3);if(!folder3.exists()){boolean flag folder3.mkdir();if(flag){logger.error(CreateUploadFileUtils:createFile创建文件成功4);}}else{logger.error(当前文件夹创建失败请检查文件夹是否存在4);}//TODO 存储相关文件信息try {//异常处理//如果当前文件夹下没有具体文件那么就创建该文件BufferedWriter bw new BufferedWriter(new FileWriter( filePath3 File.separator text.xsl));bw.write(你好世界111!!!);bw.close();} catch (IOException e) {e.printStackTrace();}
*/return filePath;} else {//添加一个具体的文件路径//path.append(LINUX_PATH).append(new SimpleDateFormat(DateConstant.FORMAT_TYPE_5).format(new Date())).append(/);//获取当前的时间并根据当前的时间去存放一个Excel文件String dateFoler new SimpleDateFormat(DateConstant.FORMAT_TYPE_5).format(new Date());StringBuilder sb new StringBuilder(LINUX_PATH).append(File.separator).append(dateFoler);;// System.out.println(sb);System.out.println(当前环境处于Linux下);filePath sb.toString();folder new File(filePath);if (!folder.exists()) {boolean flag folder.mkdirs();if(flag){logger.error(CreateUploadFileUtils:createFile创建文件成功);}}else{logger.error(创建文件失败请检查是否存在文件);}System.out.println(sb.toString());//以上是创建文件夹//TODO 接下来就是存储文件了,并将相关数据存储到文件中去了
// try {
// //异常处理
// //如果当前文件夹下没有具体文件那么就创建该文件 注意这个连接肯定是要改的具体生成的excel文件可不是我这样的后缀充当变量然后拼接后缀来动态创建
// // 就如同这里的时间文件夹一样
// BufferedWriter bw new BufferedWriter(new FileWriter( filePath File.separator text1.txt));
// //这里写的时候就是写具体的文件了
// bw.write(你好世界111哈哈哈哈!!!);
// bw.close();
// } catch (IOException e) {
// e.printStackTrace();
// }}return filePath;}public static void main(String[] args) {// System.out.println(new SimpleDateFormat(DateConstant.FORMAT_TYPE_5).format(new Date()));
// String dateFoler new SimpleDateFormat(DateConstant.FORMAT_TYPE_5).format(new Date());
// StringBuilder sb new StringBuilder(LINUX_PATH).append(dateFoler).append(/);
// System.out.println(sb.toString());// createFile();// String folderPath /path/to/folder;
//
// String filePath /path/to/folder/filename.txt;
// String fileContent 要写入的文件内容;
//
// // 创建文件夹
// //File folder new File(folderPath);
// File folder new File(WINDOWS_PATH);
// if (!folder.exists()) {
// boolean isCreated folder.mkdir();
// if (isCreated) {
// System.out.println(文件夹创建成功);
// }else {
// System.out.println(文件夹创建失败);
// return;
// }
// } else {
// System.out.println(文件夹已存在);
// }
//
// // 写入文件
// File file new File(filePath);
// try {
// if (!file.exists()) {
// boolean isFileCreated file.createNewFile();
// if (!isFileCreated) {
// System.out.println(文件创建失败);
// return;
// }
// }
//
// FileWriter writer new FileWriter(file, true);
// writer.write(fileContent);
// writer.close();
// System.out.println(文件写入成功);
// } catch (IOException e) {
// System.out.println(文件写入失败 e.getMessage());
// }
// }/*File filenew File(D:\\Qiju_Li);if(!file.exists()){//如果文件夹不存在file.mkdir();//创建文件夹}try{//异常处理//如果Qiju_Li文件夹下没有Qiju_Li.txt就会创建该文件BufferedWriter bwnew BufferedWriter(new FileWriter(D:\\Qiju_Li\\Qiju_Li.txt));bw.write(Hello I/O!);//在创建好的文件中写入Hello I/Obw.close();//一定要关闭文件}catch(IOException e){e.printStackTrace();}*/createFile();/*// 本地路径没有这创建本地工作任务基础路径String pathname D:/user/company/mapreduce;File file new File(pathname);boolean flag false;if (!file.exists()) {flag file.mkdirs();}try {//异常处理//如果当前文件夹下没有具体文件那么就创建该文件BufferedWriter bw new BufferedWriter(new FileWriter(D:/user/company/mapreduce/text.txt));bw.write(我就是喜欢你!!!);bw.close();} catch (IOException e) {e.printStackTrace();}System.out.println(path status: flag);
*/}}