java 使用日期和时间参数+字符串命名文本文件

wn9m85ua  于 2023-01-07  发布在  Java
关注(0)|答案(3)|浏览(165)

在我的项目中,我必须加密一些患者笔记,我所做的是通过参数获取“LocalDateTime dateTime”,然后创建一个文件名为+“Encryptedtxt”+“.txt”的文件。此外,我还想添加医生ID,但首先我需要完成第一部分。因此,我尝试了该任务,但它没有按预期工作。这是我创建文件的部分,

public void txtEncrypt(String text, LocalDateTime localDateTime) throws IOException, InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException {
        try {

            String subfolder = "Encryption" + File.separator + "txt";
            String fileName = localDateTime + "-encryptedText.txt";
            File file = new File(subfolder, fileName);
            FileOutputStream outStream = new FileOutputStream(file);

这只是部分工作。这是输出

这只是添加了localDate时间“. -encryptedText.txt”丢失。有人能好心地帮我解决这个问题吗?

ykejflvf

ykejflvf1#

您不能在文件名中直接使用本地日期时间对象,它将为您提供文本值,如- 2023-01- 07 T14:38:00.502959700,因此您不能创建带有冒号(:)的文件名。
你需要格式化你的本地日期时间对象在任何允许的格式,然后它会工作。你可以尝试下面的代码-

String subfolder = "Encryption" + File.separator + "txt";
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd_HHmmss");
    String fileName = localDateTime.format(formatter) + "-encryptedText.txt";
    File file = new File(subfolder, fileName);
    FileOutputStream outStream = new FileOutputStream(file);
ncecgwcz

ncecgwcz2#

我认为你应该调用dateFormat.format(localDateTime),或者类似的东西,然后得到一个字符串添加到“-encryptedText.txt”中,总而言之,你需要将一个字符串添加到另一个字符串中,你不能将一个字符串添加到一个对象中

wqnecbli

wqnecbli3#

HH:mm:ss对于文件名无效,因此过滤此文件名

相关问题