Write data to a text file

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;


public class Main {
public static void main(String[] args) {
System.out.println();
String currentDirectory = System.getProperty("user.dir");
System.out.println("Current working directory: " + currentDirectory);
useFile("output/testfile.txt");
usePath ("output/pathfile.txt");
System.out.println();
System.out.println("Directory listing");
System.out.println("The current directory set by Intellj and output directory");
File directory = new File(currentDirectory + "/output");
File[] files = directory.listFiles();
for ( File file : files ) {
System.out.println("File: " + file.getAbsolutePath());
}
System.out.println();

}

private static void useFile(String fileName){
File file = new File(fileName);
boolean fileExists = file.exists();

System.out.printf("File '%s' %s%n", fileName,
fileExists ? "exists. " : "does not exist.");

if (fileExists) {
System.out.println("Deleting File: " + fileName);
fileExists= !file.delete();
}

if (!fileExists) {
try {
file.createNewFile();
} catch (IOException e) {
throw new RuntimeException(e);
}
System.out.println("Created File: " + fileName);
if (file.canWrite()) {
System.out.println("Would write to file here");
}
}
}

private static void usePath(String fileName){
Path path = Path.of(fileName);
boolean fileExists = Files.exists(path);

System.out.printf("File '%s' %s%n", fileName,
fileExists ? "exists. " : "does not exist.");

if (fileExists) {
System.out.println("Deleting File: " + fileName);
try {
Files.delete(path);
fileExists = false;
} catch (IOException e) {
e.printStackTrace();
}
}

if (!fileExists) {
try {
Files.createFile(path);

System.out.println("Created File: " + fileName);
if (Files.isWritable(path)) {
Files.writeString(path, """

Here is some data,
For my file,
Just to prove,
Using the Files class and path are better!
""");
Files.readAllLines(path).forEach(System.out::println);
}
} catch (IOException e) {
throw new RuntimeException(e);
}


}

}



}
C:\Users\netadmin\.jdks\openjdk-23.0.2\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2024.2.4\lib\idea_rt.jar=62128" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\Users\netadmin\IdeaProjects\Java_Coding_130\FIleAndPath\out\production\FIleAndPath Main

Current working directory: C:\Users\netadmin\IdeaProjects\Java_Coding_130\FIleAndPath
File 'output/testfile.txt' exists.
Deleting File: output/testfile.txt
Created File: output/testfile.txt
Would write to file here
File 'output/pathfile.txt' exists.
Deleting File: output/pathfile.txt
Created File: output/pathfile.txt

Here is some data,
For my file,
Just to prove,
Using the Files class and path are better!

Directory listing
The current directory set by Intellj and output directory
File: C:\Users\netadmin\IdeaProjects\Java_Coding_130\FIleAndPath\output\pathfile.txt
File: C:\Users\netadmin\IdeaProjects\Java_Coding_130\FIleAndPath\output\testfile.txt


Process finished with exit code 0