Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2016
    Messaggi
    2

    Scrivere un programma che apra il file “esercizio01.txt”

    Salve, sono una studentessa di matematica e devo sostenere un esame di informatica con il linguaggio Java (usando Eclipse).
    Un esercizio mi chiede di
    "Scrivere un programma che apra il file “esercizio01.txt” (scaricateloda qui http://bit.ly/esercizi-labinfo e inseritelo nella cartella principaledel progetto)"
    e poi di lavorare con quell'array.
    Non sono in grado di "importare" il testo del file txt, quando cerco di stampare a video il suo contenuto mi compare il seguente messaggio:

    codice:
    Exception in thread "main" java.io.FileNotFoundException: C:\Users\Virginia\Desktop\Informatica\esempio01.txt (Impossibile trovare il file specificato)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(Unknown Source)
        at java.io.FileInputStream.<init>(Unknown Source)
        at java.util.Scanner.<init>(Unknown Source)
        at ApriEStampaTesto.main(ApriEStampaTesto.java:8)
    Riporto di sotto l'algoritmo che ho scritto, spero che mi possiate dare una mano a capire dove sbaglio. Grazie in anticipo

    codice:
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.util.Scanner;
    public class ApriEStampaTesto {
        public static void main (String[] args) throws FileNotFoundException {
            File file = new File("C:\Users\Virginia\Desktop\Informatica\esempio01.txt");
            Scanner scan = new Scanner (file);
            System.out.println(scan);
        }
    }
    Ultima modifica di ciro78; 10-08-2016 a 12:26 Motivo: tag code

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,354
    ti ho spostato nel forum di java. visto che si tratta di quello e non di js
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Ciao,
    Scanner ti ritorna solo l'oggetto.
    Questo oggetto deve essere iterato affinché ritorni tutti i tuoi dati
    Ammettendo debba recuperare solo interi:

    codice:
     Scanner sc = new Scanner(new File("C:\\Users\\Virginia\\Desktop\\Informatica\\esempio01.txt"));
     while (sc.hasNextInt()) {
     	long aLong = sc.nextInt();
     }
    nota che c'è sempre un parser per ogni elemento (nextLong, next, nextBoolean, nextDouble e così via)
    inoltre meglio usare un path relativo e inserire il tuo documento all'interno del progetto.

    Ciao.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2015
    Messaggi
    10
    Comunque il problema che ti sta dando è che non trova il file all'interno del percorso specificato
    http://www.globalreports.it - La libreria java per creare files PDF

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2016
    Messaggi
    2
    Grazie mille! Proverò!

  6. #6
    Utente di HTML.it L'avatar di Nikopol
    Registrato dal
    Jan 2011
    Messaggi
    120
    Ciao,
    dal percorso che hai scritto immagino che Informatica sia la cartella che contiene i tuoi progetti di informatica, ovvero il tuo workspace. Se è così avrai sicuramente un altra cartella all'interno che rappresenta il tuo progetto ed `e li dentro che avrai messo il tuo file.
    Supponiamo che il progetto si chiami Progetto1. Allora il percorso corretto dovrebbe essere "C:\\Users\\Virginia\\Desktop\\Informatica\\Progetto1\\esempio01.txt".

    Comunque per separare file e cartelle è meglio usare uno slash(/) al posto che un doppio backslash(\\), in quanto il primo viene convertito in automatico in "\" o "/" in base al sistema operativo corrente mentre il secondo funziona solo su windows.

    Inoltre il percorso che hai usato viene detto percorso assoluto, ovvero che parte dalla radice del file system (c in questo caso) fino al file in questione.
    Abituati fin da subito a non usarli mai! Quel percorso dipende da dove è situato fisicamente quel file sul tuo computer. Se sposti il progetto in un altra cartella o lo apri da un altro computer sicuramente il percorso risulterà diverso e quindi il file sarà inacessibile.
    Devi quindi usare un percorso relativo, ovvero specificare il percorso a partire dalla radice del progetto. Se hai messo il file nella cartella principale del progetto:
    codice:
    Scanner sc = new Scanner(new File("esempio01.txt"));
    In realtà File considera il percorso relativo a partire da dove è stata lanciata la JVM, che normalmente coincide con la root del progetto. Ci sono casi particolari in cui invece non è così. In questi casi si sceglie una cartella che contiene le risorse e poi la si aggiunge al classpath e ci si accede passando dal ClassLoader.
    Ultima modifica di Nikopol; 12-08-2016 a 04:08
    La Guida Galattica è infallibile.
    È la realtà, spesso, ad essere inesatta.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.