CodeGym
Promozione
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
  • 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
  • NIO2: Files, Paths, Files.walk: attraversamento del file system

    JAVA 25 SELF
    Livello 39,Lezione 0
    Analisi approfondita dell’API di file NIO2: lavoro con i percorsi tramite Path e le utility Files, attraversamento dell’albero delle directory con Files.walk e l’interfaccia FileVisitor, filtraggio e ricerca, calcolo delle dimensioni e copia, try-with-resources e gestione di IOException. Confronteremo con il vecchio File-API e analizzeremo gli errori tipici nel lavoro con gli stream Stream<Path>.
    Disponibile
  • Classi File, Path, Files: ottenere informazioni sui file

    JAVA 25 SELF
    Livello 39,Lezione 1
    Panoramica breve e pratica degli API per lavorare con i file: dal veterano File agli attuali Path e Files del package java.nio.file. Vedremo il controllo di esistenza, il tipo (file/cartella), le dimensioni, i percorsi, gli attributi di base e i permessi. Mostreremo quando e perché conviene preferire Path/ Files, come gestire correttamente IOException e quali errori si incontrano più spesso nella pratica.
    Disponibile
  • Globbing/PathMatcher, DirectoryStream.Filter

    JAVA 25 SELF
    Livello 39,Lezione 2
    Lezione pratica sulla selezione dei file in NIO2: confronteremo glob e regex, impareremo a usare PathMatcher, a filtrare il contenuto delle directory tramite Files.newDirectoryStream e DirectoryStream.Filter<Path>, nonché a eseguire ricerche ricorsive con Files.walk() e selezioni condizionali con Files.find() e BiPredicate<Path, BasicFileAttributes>. Discuteremo le sfumature dei pattern ( "**/*.java", "*.{png,jpg}"), le prestazioni e gli errori tipici nella chiusura delle risorse.
    Disponibile
  • FileVisitor — attraversamento del file system e operazioni ricorsive

    JAVA 25 SELF
    Livello 39,Lezione 3
    In questa lezione analizzeremo l'attraversamento avanzato del file system in Java: in cosa differisce l'iterazione basata su stream con Files.walk() dall'API event-driven Files.walkFileTree(), come funziona il contratto FileVisitor<T> e il comodo adattatore SimpleFileVisitor<T>, quali decisioni restituisce FileVisitResult ( CONTINUE, SKIP_SUBTREE, SKIP_SIBLINGS, TERMINATE), come eseguire correttamente l'eliminazione ricorsiva, il calcolo delle dimensioni, la ricerca per pattern e la gestione degli errori, nonché quali errori tipici si incontrano nella pratica.
    Disponibile
  • Lettura e modifica degli attributi dei file

    JAVA 25 SELF
    Livello 39,Lezione 4
    Guida pratica alla gestione dei metadati dei file tramite l’API java.nio.file.attribute: leggiamo gli attributi di base con Files.readAttributes e BasicFileAttributes, analizziamo gli attributi avanzati POSIX/ DOS tramite PosixFileAttributes e DosFileAttributes, modifichiamo orari e permessi ( FileTime, PosixFilePermissions, Files.setLastModifiedTime, Files.setAttribute). In più, verifica dell’accesso ( Files.isReadable/ isWritable/ isExecutable), sfumature cross‑platform ( dos:* vs posix:*) ed errori tipici.
    Disponibile
  • Creazione ed eliminazione di file e cartelle

    JAVA 25 SELF
    Livello 40,Lezione 0
    Introduzione pratica all'API di file di Java: lavoriamo con java.nio.file, creiamo file e directory tramite Files.createFile, Files.createDirectory e Files.createDirectories, eliminiamo — con Files.delete e Files.deleteIfExists. Discuteremo le verifiche di esistenza ( Files.exists, Path.of), le eccezioni tipiche ( FileAlreadyExistsException, NoSuchFileException, DirectoryNotEmptyException, IOException) e l'eliminazione sicura, inclusa quella ricorsiva per cartelle non vuote.
    Disponibile
  • Copia e spostamento di file e cartelle

    JAVA 25 SELF
    Livello 40,Lezione 1
    Come copiare, spostare e rinominare file e cartelle con Files.copy e Files.move del package java.nio.file; quali opzioni usare ( StandardCopyOption.REPLACE_EXISTING, COPY_ATTRIBUTES, spostamento atomico), in cosa copy differisce da move e come gestire correttamente le eccezioni: FileAlreadyExistsException, AccessDeniedException, AtomicMoveNotSupportedException, NoSuchFileException. Inoltre consigli pratici e tabelle sui metodi e le opzioni principali.
    Disponibile
  • Operazioni di massa sui file

    JAVA 25 SELF
    Livello 40,Lezione 2
    Pratica di lavoro con i file tramite NIO.2: come attraversare le cartelle con Files.list e Files.walk, filtrare flussi di percorsi usando Stream<Path> e le operazioni filter, sorted, limit. Azioni in massa: copia ( Files.copy), eliminazione ( Files.delete), rinomina ( Files.move) con gestione sicura degli errori nel ciclo e tenendo conto delle prestazioni durante l’attraversamento ricorsivo. Una tabella con i metodi principali e la sezione «Errori tipici» ti aiuteranno a evitare le insidie.
    Disponibile
  • Lavorare con file e directory temporanei

    JAVA 25 SELF
    Livello 40,Lezione 3
    In questa lezione vediamo come creare e ripulire in modo sicuro le risorse temporanee: i file con Files.createTempFile e le directory con Files.createTempDirectory, dove vengono creati per impostazione predefinita e come indicare una cartella personalizzata. Mostreremo un'eliminazione affidabile con Files.delete/ Files.deleteIfExists, quando è appropriato il metodo legacy File.deleteOnExit(), come ottenere il percorso della cartella temporanea di sistema tramite System.getProperty( "java.io.tmpdir") e perché è importante usare i costrutti try- finally per garantire la pulizia. In chiusura — consigli pratici ed errori tipici.
    Disponibile
  • Monitoraggio delle modifiche nel file system: WatchService

    JAVA 25 SELF
    Livello 40,Lezione 4
    Nella lezione analizziamo l’API di monitoraggio del file system di NIO.2 — WatchService: come ottenere il servizio, registrare una directory tramite Path.register(...), quali eventi sono disponibili ( ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY) e come organizzare il ciclo di elaborazione ( WatchService.take() → key.pollEvents() → key.reset()). Discuteremo limitazioni (niente monitoraggio ricorsivo per impostazione predefinita), peculiarità su Windows/Linux/macOS, esempi di applicazione reale ed errori tipici.
    Disponibile
  • 1
  • ...
  • 17
  • 18
  • 19
  • 20
  • 21
  • ...
  • 30
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