java创建文件夹及TXT文件并写入
最近需要做一个云存档的模块,刚开始创建的时候经常报找不到路径,记录一下我感觉不错的写法
测试类
package com.xzly;import org.junit.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;/*** java创建文件夹和文件并写入内容*/
@SpringBootTest
public class CreateTxtTest {@Testpublic void createTxt(){//str字符串作为前端传来的参数String str = "Name=test1&Index=2&Type=Save_KingData_16&Obj_Str={aoe,ivu}";try {//根据&分割字符串String[] params = str.split("[: & ;]");//catalog、Name、Index做为文件夹,Type为txt文件名String Name = params[0].substring(5);String Index = "Save-" + params[1].substring(6);String Type = params[2].substring(5) + ".txt";//要写入内容String Obj_Str = params[3].substring(8);String catalog = "D://cloudsArchive/";//指定路径如果没有则创建并添加File file = new File(catalog + Name + "/" + Index + "/" + Type);//获取父目录File fileParent = file.getParentFile();//判断是否存在,如果不存在则创建if (!fileParent.exists()) {fileParent.mkdirs();}//根据抽象路径创建一个新的空文件file.createNewFile();判断文件是否存在if (file.exists()) {//创建一个用于操作文件的字节输出流对象,创建就必须明确数据存储目的地FileOutputStream fos = new FileOutputStream(file);//写入fos.write(Obj_Str.getBytes(StandardCharsets.UTF_8));System.out.println("成功!!!");//刷新并关闭流fos.flush();fos.close();}}catch (IOException e){e.printStackTrace();}}}
项目中代码
效果图
希望对大家都有所帮助,共同进步!!!