Lavorare con i File - JAVA TUTORIAL ITALIANO 38

Поділитися
Вставка
  • Опубліковано 24 жов 2024

КОМЕНТАРІ • 30

  • @AlessioDiLorenzo
    @AlessioDiLorenzo 10 місяців тому +3

    Ho seguito tutto il corso in una giornata (mi serviva solo ripasso visto che non toccavo Java da 4/5 anni, ma ci avevo già lavoricchiato). Sarebbe molto utile un corso spring boot! Ottimi contenuti, bravo!

  • @Pinolissimo
    @Pinolissimo 2 роки тому +1

    Bravissimo , spiegazioni chiare e comprensibili! top.

  • @user-xe1ey7bt3s
    @user-xe1ey7bt3s Місяць тому

    Con l'introduzione di Java NIO che apporta molte migliorie e soprattutto, non è bloccante, ha ancora senso utilizzare Java IO?

  • @eliaincoronato4763
    @eliaincoronato4763 2 роки тому +1

    Non capisco come mai quando uso l'append() cancella il contenuto precedente e inserisce la nuova riga. Anche per da quanto ho capito questo dovrebbe essere il comportamento delle write().

  • @edoks_923
    @edoks_923 Рік тому +1

    Qual è l'import per poter eseguire queste funzioni?

  • @vincenzomenniti5041
    @vincenzomenniti5041 2 роки тому

    Grazie!

  • @AlessioMartinelli
    @AlessioMartinelli 2 роки тому

    Fantastico. Se supero l’esame di Java ti offro una pizza

  • @jofel131
    @jofel131 2 роки тому

    Ciao. Bel video. complimenti.
    C'è una cosa che non mi è chiarissima: quando scrivo [ data = reader.read( ); ] l'oggetto indicato da qual è ?
    Perché se scrivo
    data = reader.read( );
    System.out.println(data);
    data = reader.read( );
    System.out.println(data);
    prima mi stampa il numero ascii relativo alla prima lettera del file, dopo quello relativo alla seconda; è come se il sistema tenesse conto di quante volte ho usato il metodo read( ) applicato al file reader. E' così che funziona?

    • @eliaincoronato4763
      @eliaincoronato4763 2 роки тому

      Lui dichiara data come intero quindi quando va a leggere ogni elemento del file lo salva come intero, poi va a stamparlo facendo print((char) data), con questo (char) data sta facendo un cast esplicito per indicare a print di stampare il numero convertito in carattere.

    • @mattkk_
      @mattkk_ Рік тому

      È ciò che accade con il ciclo while... Stai solo scrivendo quel ciclo a mano. Se non erro in ogni caso si può indicare il character che si vuole leggere come parametro

  • @private6365
    @private6365 Рік тому

    Ciao, vorrei scrivere sul file di testo attributi diversi da stringe, come posso fare?

  • @ChrisssZero
    @ChrisssZero 2 роки тому +1

    Ciao! Ho provato a creare una funzione che salvi dei dati, ma ogni volta che la mando mi sovrascrive i dati nel file (nonostante abbia messo "append"), qualcuno ha idea del perchè?
    public void saveData(String path, String data)
    {
    try {
    FileWriter writer = new FileWriter(path);

    writer.append(data + "#");
    writer.close();
    }

    catch(IOException e) {
    e.printStackTrace();
    }
    }

    • @giovanniturchi
      @giovanniturchi Рік тому

      Buongiorno @ChrisssZero, arrivo solo ora a questo corso e non sono ferratismo in Java,
      ma leggendo la documentazione (cosa consigliata) si capisce che non c'è molta differenza tra
      i metodi append() e write(). Retaggio e aggiornamenti di vecchie versioni.
      In questo caso FileWriter.write restituisce un void ed accetta solo stringe.
      FileWrite.append deriva dalla class Appendable e accetta un carattere o una sequenza di caratteri.
      Fai questa prova: dal tutorial quando ti trovi alla situazione ad 08:05 (1 write e 2 append) prova
      a scrivere subito dopo la definizione di writer, tra il rigo 21 e 22 prima di "Ciao sono.." questo:
      writer.write(null);
      Esegui.
      Errore! Non puoi avere una stringa di tipo null.
      sostituisci write con append:
      writer.append(null);
      Senza considerare che i tipi di valore ritornati sono differenti: write è void (quindi non ritorna e te
      lo prendi com'è ovvero con errore nel programma runtime), mentre append ritorna il metodo Writer.
      L'importanza di cosa ritornino: pensa se invece di una stringa definta da doppi apici fosse una variabile stringa proveniente da chissà mai quale altra parte del codice.
      Ultimo esempio della differenza write/append di FileWrite dal manuale a proposito di append:
      An invocation of this method of the form out.append(csq) behaves in exactly the same way as the invocation
      out.write(csq.toString())
      Per aggiungere qualcosa al file, non basta il metodo append. Bisogna proprio aprire il file in modalità append.
      Sempre dall'esempio di @EdoardoMidali (solito minutaggio di riferimento) al rigo 21 aggiungere ,true (virgola true) dopo il nome del file:
      FileWriter writer = new FileWriter("prova.txt",true);
      Togli eventuali esperimenti da me suggeriti e tieni il resto del codice come quello di @EdoardoMidali.
      Adesso prova a lanciare il programma almeno 2 volte, o più, e quarda il contenuto del file prova.txt.
      Forse non l'ho spiegato benissimo, ma spero di aver chiarito un dubbio in cui ero cascato anch'io all'inizio.
      Lascio a @EdoardoMidali eventuali altri approfondimenti.
      Un saluto sperando di essere stato utile,
      Gio.

  • @valociro69
    @valociro69 2 роки тому

    Ciao, ho un problemino con append, sostanzialmente non appende ma riscrive.
    Inoltre ho avuto anche un problema con
    , che on andava a capo, ma quello l'ho risolto con
    . Grazie mille in anticipo

    • @eliaincoronato4763
      @eliaincoronato4763 2 роки тому

      Ho lo stesso problema con append( ), sei riuscito a capire ?

  • @Master-lv6bh
    @Master-lv6bh 3 роки тому +1

    Ciao scusa un’informazione per caso in futuro pensi di fare un corso di informatica tipo scuole superiori con argomenti ad esempio sistema binario etc?

    • @EdoardoMidali
      @EdoardoMidali  3 роки тому +3

      non saprei, soprattutto perchè ho in coda +30 corsi. Andrò avanti a pubblicare credo per 2 annetti

    • @Master-lv6bh
      @Master-lv6bh 3 роки тому

      @@EdoardoMidali ah ok grazie lo stesso

  • @postocoseraramente4889
    @postocoseraramente4889 2 роки тому +2

    farai un corso di java avanzato magari con implementazioni di esercizi?

  • @Andrea-k6r3v
    @Andrea-k6r3v Рік тому

    ciao mi sapresti dire perchè in intellij mi dà sempre errore di lettura file dicendo che non esiste?(quindi printa la parte del catch) il codice è pure preso dal mio prof
    FileReader reader = new FileReader("percorso del file copiato(lho creato in src come il main");
    FileWriter writer=new FileWriter("prova.txt");
    do {
    next = reader.read();
    if (next != -1) {
    char c = (char) next;
    writer.write(c);
    }
    } while (next != -1);
    reader.close();
    writer.close();
    } catch (IOException e) {
    System.out.println("errore di IO");
    System.out.println(e);
    }

  • @axelfly8473
    @axelfly8473 3 роки тому

    perchè dopo il video 38 è scritto che gli ultimi video sono nascosti?

    • @EdoardoMidali
      @EdoardoMidali  3 роки тому +1

      esce un video al giorno

    • @axelfly8473
      @axelfly8473 3 роки тому

      @@EdoardoMidali ah grazie, scusami. complimenti per i tutorial.