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

    }

}

项目中代码

在这里插入图片描述

效果图

在这里插入图片描述
在这里插入图片描述

希望对大家都有所帮助,共同进步!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值