Passage d'un fichier comme argument de ligne de commande et la lecture de ses lignes
c'est le code que j'ai trouvé dans l'internet pour lire les lignes d'un fichier et aussi j'utilise eclipse et j'ai passé le nom de fichier comme SanShin.txt dans son champ argument. mais il apparaîtra à l'impression :
Error: textfile.txt (The system cannot find the file specified)
Code:
public class Zip {
public static void main(String[] args){
try{
//Open the file that is the first
//command line parameter
FileInputStream fstream = new FileInputStream("textfile.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
//Print the content on the console
System.out.println (strLine);
}
//Close the input stream
in.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
}
s'il vous plaît aidez-moi pourquoi il imprime cette erreur.
grâce
J'ai un fichier texte !!!
aussi c'est l'emplacement de mon projet:C:\Documents and Settings\icc\workspace\Hoffman Projet
et mon fichier texte est dans le bureau.
les arguments ne sont pas utilisés par votre programme: il s'ouvre toujours textfile.txt
aussi c'est l'emplacement de mon projet:C:\Documents and Settings\icc\workspace\Hoffman Projet
et mon fichier texte est dans le bureau.
les arguments ne sont pas utilisés par votre programme: il s'ouvre toujours textfile.txt
OriginalL'auteur user472221 | 2010-11-29
Vous devez vous connecter pour publier un commentaire.
argv
? Pouvez-vous utiliserargs
à la place?OriginalL'auteur khachik
Lorsque vous spécifiez simplement
"textfile.txt"
le système d'exploitation va regarder dans le programme de travail de répertoire que le fichier.Vous pouvez spécifier le chemin absolu vers le fichier avec quelque chose comme
new FileInputStream("C:\\full\\path\\to\\file.txt")
Aussi, si vous voulez connaître le répertoire de votre programme est en cours d'exécution, essayez ceci:
System.out.println(new File(".").getAbsolutePath())
OriginalL'auteur daveb
Votre
new FileInputStream("textfile.txt")
est correct. Si c'est jeter de cette exception, il n'y a pas detextfile.txt
dans le répertoire courant lorsque vous exécutez le programme. Êtes-vous sûr que le nom du fichier n'est pas réellementtestfile.txt
(note de l's
, pasx
, en troisième position).Hors-sujet: Mais votre plus tôt supprimé question posée de savoir comment lire un fichier ligne par ligne (je ne pense pas que vous avez besoin de le supprimer, FWIW). Sur l'hypothèse que vous êtes encore un débutant et obtenir le coup de choses, un pointeur: Vous avez probablement ne pas voulez utiliser
FileInputStream
, qui est pour les fichiers binaires, mais au lieu d'utiliser laLecteur
ensemble d'interfaces et de classes dansjava.io
(y comprisFileReader
). Aussi, chaque fois que possible, de déclarer vos variables à l'aide de l'interface, même lors de l'initialisation à une classe spécifique, de sorte que, par exemple,Reader r = new FileReader("textfile.txt")
(plutôt queFileReader r = ...
).OriginalL'auteur T.J. Crowder