in my project I have to encrypt some notes of patients what i do is I get the "LocalDateTime dateTime" through a parameter and create a file with that name + "Encryptedtxt" + ".txt". And additionally I wanted to add the doctors id too but first of all I need to do the first part. So i attempted the task but it's not working as I'm expecting. This is the part where I'm creating the file,
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);
This only works partially. This is the output
This only adds the localDate time ". -encryptedText.txt" is missing. Can someone kindly help me out in this one?
you can't use local date time object directly in file name, it will give you text value like - 2023-01-07T14:38:00.502959700 so you can't create file name with colon(:) in it.
You need to format your local date time object in any permissible format then it will work. You can try below code -
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);