在我的项目中,我必须加密一些患者笔记,我所做的是通过参数获取“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”丢失。有人能好心地帮我解决这个问题吗?
3条答案
按热度按时间ykejflvf1#
您不能在文件名中直接使用本地日期时间对象,它将为您提供文本值,如- 2023-01- 07 T14:38:00.502959700,因此您不能创建带有冒号(:)的文件名。
你需要格式化你的本地日期时间对象在任何允许的格式,然后它会工作。你可以尝试下面的代码-
ncecgwcz2#
我认为你应该调用dateFormat.format(localDateTime),或者类似的东西,然后得到一个字符串添加到“-encryptedText.txt”中,总而言之,你需要将一个字符串添加到另一个字符串中,你不能将一个字符串添加到一个对象中
wqnecbli3#
HH:mm:ss对于文件名无效,因此过滤此文件名