J'ai écrit un exemple de texte dans le cahier. Ensuite, j'ai enregistré le fichier sur le bureau en l'appelant TEST. Lorsque j'essaye de lire son contenu, malheureusement dans le code suivant je reçois le message: "Le fichier ne peut pas être ouvert". Que puis-je faire pour lire le texte du fichier TEST?
Voici mon code:
public static void main(String[] args) { int i; FileInputStream fin; //Checks whether the file name was specified if(args.length !=1) { System.out.println("Usage: ShowFile TEST.TXT"); return; } //Try open try { fin = new FileInputStream(args[0]); } catch(FileNotFoundException exc) { System.out.println("The file can not be opened!"); return; } //At this stage, the file is open and ready to read, the following code reads the characters to reach the end of the file try { do { i = fin.read(); if(i != -1) System.out.println((char)i); } while(i != -1); } catch (IOException exc) { System.out.println("Error reading the file"); } //Close file try { fin.close(); } catch(IOException exc) { System.out.println("Error close file!"); } }
Sur la ligne de commande, j'ai écrit: TEST.TXT
3 Réponses :
Essayez ceci
BufferedReader br = new BufferedReader(new FileReader(new File("TEST"))); Sytem.out.println(br.readLine());
C'est parce que le chemin complet n'est pas indiqué et que le répertoire de travail est le répertoire de départ pris. Ce chemin se trouve dans System.getProperty("home.dir")
.
System.getProperty("home.user") + "/Desktop/" + args[0]
Vous pouvez utiliser pour le bureau:
Path path = Paths.get("TEST.txt"); System.out.println("Full path: " + path.toAbsolutePath());
Bien sûr, vous obtiendrez une erreur.! Parce que par défaut FileInputStream () vérifierait le fichier dans le répertoire actuel, c'est-à-dire dans le répertoire où se trouve votre fichier source java. Et comme vous avez enregistré votre TEST.TXT sur votre bureau.
Alors pour ouvrir votre fichier situé dans le dossier Desktop. Fournissez simplement le chemin absolu de votre fichier vers FileInputStream.
Par exemple, si le fichier est stocké dans C: \ Users \ user \ Desktop \ TEST.txt
puis
file = new FileInputStream ("C: \ Users \ user \ Desktop \ TEST.txt");
Merci et bon codage ..!
Essayez d'imprimer le chemin recherché, par exemple
System.out.println (nouveau fichier (args [0]))
, peut-être que le chemin n'est pas celui attendu (dans ce cas, envisagez de passer un chemin absolu comme argument).