CodeGym
AI Academy
Promozione
CodeGym University
Learning
Corsi
Tasks
Surveys & Quizzes
Games
Help
Schedule
Community
Users
Forum
Chat
Articles
Success stories
Activity
Reviews
Subscriptions
Tema chiaro

Lezioni

  • Recensioni
  • Chi siamo
Inizia
Inizia a imparare
Start learning now
  • I miei progressi
  • Corsi
  • Mappa Quest
  • Lezioni
  • IOException e FileNotFoundException: gestione degli errori

    JAVA 25 SELF
    Livello 38,Lezione 0
    Come è organizzata la gerarchia delle eccezioni di I/O in Java, qual è la differenza tra IOException e la sua sottoclasse FileNotFoundException, quando si verificano e come gestirle correttamente. Vedremo l’ordine dei blocchi catch, la pratica di lettura/scrittura di file, consigli di logging e una tabella sintetica degli errori più comuni. Tratteremo le eccezioni checked, le parole chiave try, catch, finally, throws e il pattern try-with-resources.
    Disponibile
  • Verifica dell'esistenza di file e directory

    JAVA 25 SELF
    Livello 38,Lezione 1
    Come verificare in Java se esiste un file o una cartella: la classe File con i suoi metodi exists(), isFile(), isDirectory() e l'approccio moderno NIO tramite Path e Files — Files.exists(), Files.isRegularFile(), Files.isDirectory(). Discuteremo il problema TOCTOU e perché il controllo non sostituisce la gestione degli errori: anche dopo exists() potete ottenere FileNotFoundException o AccessDeniedException, quindi usate sempre i blocchi try e, quando possibile, try-with-resources. Inoltre pratica: lettura del file se presente, creazione di una directory con Files.createDirectory() e Files.createDirectories(), lavoro con percorsi relativi e assoluti.
    Disponibile
  • Gestione dei file danneggiati, ripristino dei dati

    JAVA 25 SELF
    Livello 38,Lezione 2
    Come riconoscere i file «corrotti» in base alle eccezioni ( EOFException, MalformedInputException, ZipException, StreamCorruptedException), cosa fare in caso di mancata corrispondenza del formato e quali strategie di ripristino adottare: logging e notifica all’utente, lettura parziale fino all’errore, copie di backup, checksum ( SHA-256). Pratica con la lettura fino a EOF, gestione corretta delle codifiche e analisi degli errori tipici (validazione, try-with-resources, riscrittura accurata).
    Disponibile
  • Permessi e accesso al file system

    JAVA 25 SELF
    Livello 38,Lezione 3
    In questa lezione analizziamo come il sistema operativo gestisce i permessi di accesso (POSIX e ACL su Windows), perché in Java si verifica l’eccezione AccessDeniedException, come e quando usare i controlli Files.isReadable(), Files.isWritable(), Files.isExecutable(), e perché il TOCTOU è pericoloso. È mostrato il pattern della «scrittura sicura»: file temporaneo + trasferimento atomico tramite StandardCopyOption.ATOMIC_MOVE, corretta gestione degli errori con try- catch e logging ( java.util.logging). In conclusione — consigli pratici ed errori tipici.
    Disponibile
  • Best practice per lavorare con i file

    JAVA 25 SELF
    Livello 38,Lezione 4
    Guida pratica a un lavoro affidabile e sicuro con il file system in Java: gestione corretta delle eccezioni ( try/ catch, reazioni specifiche a IOException, AccessDeniedException), uso accorto delle API Files/ Path e dei backup ( Files.copy con StandardCopyOption.REPLACE_EXISTING), dei file temporanei ( Files.createTempFile), controllo d'integrità ( MessageDigest.getInstance( "SHA-256")), nonché minimizzazione delle finestre TOCTOU e adozione diffusa di try-with-resources. Scoprirai perché un catch vuoto è pericoloso, come gestire i permessi di accesso ( File.canRead()/ File.canWrite()) e quali rischi comportano i percorsi relativi come File( "data.txt").
    Disponibile
Learn
  • Registration
  • Java Course
  • Help with Tasks
  • Pricing
  • Java Syntax
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Success Stories
  • Activity
  • Affiliate Program
Company
  • About us
  • Contacts
  • Reviews
  • Press Room
  • CodeGym for EDU
  • FAQ
  • Support
CodeGymCodeGym is an online course for learning Java programming from scratch. This course is a perfect way to master Java for beginners. It contains 1200+ tasks with instant verification and an essential scope of Java fundamentals theory. To help you succeed in education, we’ve implemented a set of motivational features: quizzes, coding projects, content about efficient learning, and a Java developer’s career.
Follow us
Lingua dell'interfaccia
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ்
Italiano
Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmers Are Made, Not Born" © 2026 CodeGym
MastercardVisa
"Programmers Are Made, Not Born" © 2026 CodeGym