java创建文件夹和文件并写入

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 {

    @Test
    public 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();
        }

    }

}

项目中代码

java创建文件夹和文件并写入_第1张图片

效果图

java创建文件夹和文件并写入_第2张图片
java创建文件夹和文件并写入_第3张图片

希望对大家都有所帮助,共同进步!!!

你可能感兴趣的:(JAVA基础知识,Java工具类,java)