Java: travailler avec des fichiers de disque

Certains programmes Java lire de caractères sur le clavier de l'ordinateur. Mais le code Java dans cette annonce lit des caractères depuis un fichier spécifique. Le fichier dans cet exemple (nommé EmployeeInfo.txt) Vit sur le disque dur de l'ordinateur.

import-import java.io.File java.util.Scanner-import java.io.IOException-classe publique DoPayroll {static void main (String args []) throws IOException {publics Scanner diskScanner = new Scanner (new File ("EmployeeInfo. txt ")) - for (int empnum = 1- empnum lt; = 3- empnum ++) {payOneEmployee (diskScanner) -} diskScanner.close () -} static void payOneEmployee (Scanner aScanner) {Employé anEmployee = new Employee()-anEmployee.setName(aScanner.nextLine())-anEmployee.setJobTitle(aScanner.nextLine())-anEmployee.cutCheck(aScanner.nextDouble())-aScanner.nextLine()-}}

Ce EmployeeInfo.txt fichier est comme un document de traitement de texte. Le fichier peut contenir des lettres, des chiffres et autres caractères. Mais contrairement à un document de traitement de texte, la EmployeeInfo.txt fichier ne contient aucune mise en forme - pas de caractères italiques, pas de gras, pas de tailles de police, rien de ce genre.




La EmployeeInfo.txt fichier ne contient que des caractères ordinaires - les types de frappes que vous tapez pendant que vous jouez un jeu de devinettes. Bien sûr, obtenir des conjectures à partir du clavier d'un utilisateur et la lecture des données du personnel à partir d'un fichier de disque ne sont pas exactement les mêmes.

Dans un jeu de devinettes, le programme affiche des invites, tels que Entrez un int entre 1 et 10. Le programme de jeu conduit un dialogue de va-et-vient avec la personne assise au clavier. En revanche, cette annonce n'a pas de dialogue. Ce DoPayroll programme lit les caractères d'un disque dur et ne pas incité ou interagir avec quiconque.

Ce code ne fonctionne pas, sauf si vous avez des données sur les employés assis dans un fichier. La liste indique que ce fichier est EmployeeInfo.txt. Donc, avant d'exécuter le code, un petit EmployeeInfo.txt fichier doit être créé. Le fichier est montré ici.

image0.jpg

Reportez-vous à ce chiffre pour la sortie résultant.

image1.jpg

Pour garder la liste simple, lorsque vous tapez les caractères dans la figure, vous avez terminé en tapant 10000.00 puis appuyez sur Entrée. (Regardez à nouveau la figure et remarquez comment le curseur est au début d'une ligne nouvelle.) Si vous oubliez de terminer en appuyant sur Entrée, puis le code se bloque lorsque vous essayez de l'exécuter.

Les séparateurs varient d'un pays à l'autre. Le fichier le montre la figure 8-3 fonctionne sur un ordinateur configuré aux États-Unis où 5000.00 signifie «cinq mille." Mais le fichier ne fonctionne pas sur un ordinateur qui est configuré dans un «pays de virgule" - un pays où 5000,00 signifie «cinq mille."

Si vous vivez dans un pays par des virgules, et vous utilisez le fichier exactement comme il est indiqué, vous avez probablement un message d'erreur (une InputMismatchException) Lorsque vous essayez d'exécuter l'exemple de cette section. Si oui, changer le nombre élève dans votre fichier pour correspondre le format du numéro de votre pays. Lorsque vous le faites, vous devriez être bien.


» » » » Java: travailler avec des fichiers de disque