0
votes

Erreur Javac: Scanner: FilenotfoundException

J'écris maintenant une classe Java et je veux lire un fichier TXT dans, comme celui-ci: xxx

et par exemple, utilisez-le comme java myClass Input.txt < / code>. Cependant, lorsque j'utilise javac pour le compiler sous Linux, erros lancers: xxx

c'est bizarre depuis le nom du fichier de saisie n'a même pas été transmis . J'ai essayé le fichier de fichier = nouveau fichier ("INPUT.TXT '); et il jette également cette erreur, donc je ne sais pas ce qui ne va pas ( system.out.println ( Nouveau fichier ("INPUT.TXT '). GETABSOLUTEPATH ()); imprimera le chemin correct et existant).


2 commentaires

Essayez de le changer de filenotfoundexception à générique exception et voir s'il arrive toujours


Néanmoins, ne peut pas passer la compilation.


6 Réponses :


0
votes

On dirait que vous n'avez pas importé la classe FilenotfoundException .

Ajout d'un Importer java.io.filenotfoundException en haut de votre fichier devrait résoudre le problème.


1 commentaires

J'ai essayé d'ajouter importer java.io.filenotfoundexception , et maintenant scanner scanner = nouveau scanner ("array.txt"); int [] tableau = neuf int [1000]; int i = 0; tandis que (scanner.hasnextint ()) Array [i ++] = scanner.nextint (); peut transmettre la compilation mais ne peut toujours pas lire le fichier (tableau 0). Tandis que pour fichier de fichiers = nouveau fichier (args [0]); Scanner Scanner = Nouveau scanner (fichier); , il a échoué dans la compilation Javac, avec exception non déclarées FileNotFoundException; .



1
votes

Vous devez ajouter des importations correctes au début d'une classe: xxx


1 commentaires

Vous avez ajouté importer java.io.filenotfoundexception; maintenant, mais toujours échoué.



0
votes

En supposant que toutes les importations sont correctes, la cause suivante la plus probable est le fichier TXT n'est pas là. Vous devez mettre votre fichier TXT dans le même dossier qu'il existe des dossiers comme "SRC", "DIST" et "Construire".


4 commentaires

Ou essayez un chemin absolu de voir si c'est le problème


J'ai essayé un chemin absolu mais je suis toujours attrapé. Quant au chemin relatif, mon fichier .java est dans, disons, dossier A, puis i Exécutez cd A javac my.java . Et je pense que ce n'est pas un chemin qui compte, puisque j'ai essayé fichier fichier = nouveau fichier (args [0]); Scanner Scanner = Nouveau scanner (fichier); et simplement échoué dans javac compilation.


"Je ne pense pas que le chemin compte" - dis-tu que l'erreur se produit dans le temps de compilation, pas en heure de fonctionnement? Si tel est le cas, cela manquerait une importation, ou votre linker ne trouve pas les bibliothèques.


Exactement. C'est toutes mes bibliothèques importées: importer java.util.arrays; import java.util.random; import java.util.concurrent. *; import java.util.scanner; import java.io.file; import java.io.filenotfoundException;



2
votes

Je pense que vous devez compiler votre classe à l'aide de la commande suivante xxx xxx

puis exécutez la commande suivante xxx

Vous devez vous assurer que test.txt Place, permettez-moi de vous recommander la réponse suivante de la question qui m'aide beaucoup à exécuter votre code Pe et ici Pour où vous devez mettre votre fichier

note:

  • Essayez de déclarer Void public statique principal (String args []) lance FileNotFoundException

  • S'il vous plaît, vous devez être à l'intérieur du dossier de fichier que vous souhaitez compiler


4 commentaires

Merci d'avoir fourni une nouvelle direction: d. Pourriez-vous s'il vous plaît dites-moi ce qu'est com / peluch.java et javac / / est pour lequel format (Dites javac java.util.arys java.util.random className.java est faux). J'ai essayé d'ajouter un drapeau -cp (classpath) comme mentionné dans la première HREF, mais a toujours échoué dans la compilation. Et le deuxième href semble être perdu.


`` `com / piste.java` `` est le nom du package de votre fichier Il existe 2 syntaxes correctes pour l'écrire et vous pouvez lire les suivants Lien et vous expliquera tout


S'il vous plaît, vous devez être à l'intérieur du dossier du fichier que vous souhaitez compiler


Merci. Je déclare Public statique vide (String args []) lance FileNotFoundException , et maintenant ça marche, enfin xD



0
votes

Je l'ai compris!

déclarer principale comme ceci: xxx


0 commentaires

0
votes

Essayez de mettre l'emplacement du fichier que vous souhaitez lire, quelque chose comme ceci: xxx pré>

exemple complet: p>

public static void main(String[] args) 
  { 
    File file = new File("C:\\text.txt"); 
    Scanner sc = new Scanner(file); 

    while (sc.hasNextLine()) 
      System.out.println(sc.nextLine()); 
  } 


0 commentaires