import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
import java.nio.file.Path;

public class TanganiHilang {
    public static void main(String[] args) {
        Path konfigurasi = Path.of("konfigurasi.yaml");
        try {
            String isi = Files.readString(konfigurasi);
            System.out.println("terbaca: " + isi);
        } catch (NoSuchFileException e) {
            System.out.println("berkas tidak ada : " + e.getFile());
        } catch (IOException e) {
            System.out.println("I/O gagal         : " + e.getClass().getSimpleName());
        }

        Path target = Path.of("hasil", "laporan.txt");
        try {
            Files.writeString(target, "isi laporan", StandardCharsets.UTF_8);
            System.out.println("tulis langsung   : sukses");
        } catch (NoSuchFileException e) {
            System.out.println("tulis langsung   : gagal, induk belum ada");
        } catch (IOException e) {
            System.out.println("tulis langsung   : gagal, "
                    + e.getClass().getSimpleName());
        }

        try {
            Files.createDirectories(target.getParent());
            Files.writeString(target, "isi laporan", StandardCharsets.UTF_8);
            String hasil = Files.readString(target, StandardCharsets.UTF_8);
            System.out.println("setelah buat induk: " + hasil);
        } catch (IOException e) {
            System.out.println("gagal total: " + e.getClass().getSimpleName());
        }
    }
}
