Cet article partage la méthode Java pour lire les fichiers pour votre référence. Le contenu spécifique est le suivant
1. Lire le contenu du fichier par octets
2. Lire le contenu du fichier par caractères
3. Lisez le contenu du fichier par ligne
4. Lire au hasard le contenu du fichier
classe publique ReadFromfile {/ ** * Lire des fichiers en octets, souvent utilisés pour lire des fichiers binaires, tels que des images, des sons, des images et d'autres fichiers. * / public static void readFileBytes (String FileName) {file file = new File (filename); InputStream dans = null; essayez {System.out.println ("Lire le contenu du fichier en octets, lisez un octet à la fois:"); // Lire un octet à la fois dans = new FileInputStream (fichier); int tempbyte; while ((tempByte = in.read ())! = -1) {System.out.write (tempByte); } in.close (); } catch (ioException e) {e.printStackTrace (); retour; } essayez {System.out.println ("Lire le contenu du fichier en octets, lisez plusieurs octets à la fois:"); // Lire plusieurs octets à un octet de temps [] tempbytes = nouveau octet [100]; int bytereread = 0; dans = new FileInputStream (nom de fichier); Readfromfile.showavailableBytes (in); // Lire plusieurs octets dans le tableau d'octets, Byteread est le nombre d'octets lus à la fois ((byteread = in.read (tempytes))! = -1) {System.out.write (tempytes, 0, byteread); }} catch (exception e1) {e1.printStackTrace (); } enfin {if (in! = null) {try {in.close (); } catch (ioException E1) {}}}} / ** * Lire des fichiers en caractères, souvent utilisés pour lire des fichiers de texte, des numéros, etc. * / public static void readFileBychars (String FileName) {file file = new File (fileName); Lecteur lecteur = null; essayez {System.out.println ("Lire le contenu du fichier en caractères, lisez un octet à la fois:"); // Lire un caractère sur le lecteur Time = new inputStreamReader (new FileInputStream (fichier)); int tempchar; tandis que ((tempChar = reader.read ())! = -1) {// Pour Windows, lorsque les deux caractères / r / n sont ensemble, ils représentent une nouvelle ligne. // Mais si ces deux caractères sont affichés séparément, les lignes seront modifiées deux fois. // Par conséquent, block / r, ou bloc / n. Sinon, il y aura beaucoup plus de signes vierges. if (((char) tempChar)! = '/ r') {System.out.print ((char) tempChar); }} reader.close (); } catch (exception e) {e.printStackTrace (); } essayez {System.out.println ("lire le contenu du fichier en caractères, lire plusieurs octets à la fois:"); // Lire plusieurs caractères à la fois char [] tempchars = nouveau char [30]; int charread = 0; Reader = new inputStreamReader (new FileInputStream (nom de fichier)); // Lire plusieurs caractères dans le tableau de caractères, Charread est le nombre de caractères lus à un moment où ((charread = reader.read (tempchars))! = -1) {// également bloqué / r n'affiche pas si ((charread == tempchar.length) && (tempchars. } else {for (int i = 0; i <charread; i ++) {if (tempchars [i] == '/ r') {continue; } else {System.out.print (tempchars [i]); }}}}}}} catch (exception e1) {e1.printStackTrace (); } enfin {if (reader! = null) {try {reader.close (); } catch (ioException E1) {}}}} / ** * Lire le fichier en unités de comportement, souvent utilisées pour lire des fichiers formatés avec des lignes orientées vers la ligne * / public void readFileBylines (String FileName) {file file = new File (filename); BufferedReader Reader = NULL; essayez {System.out.println ("Lire le contenu du fichier dans les unités comportementales, lisez une ligne entière à la fois:"); Reader = new BufferedReader (nouveau FileReader (fichier)); String tempsstring = null; INT LINE = 1; // Lire sur une ligne à la fois jusqu'à ce que Null soit la fin du fichier while ((tempsstring = reader.readline ())! = Null) {// Show Line Number System.out.println ("Line" + Line + ":" + TEMPSTRING); line ++; } reader.close (); } catch (ioException e) {e.printStackTrace (); } enfin {if (reader! = null) {try {reader.close (); } catch (ioException e1) {}}}} / ** * Random Read File Content * / public static void readFileByRandomAccess (String filename) {randomaccessFile randomfile = null; essayez {System.out.println ("Random Lire un morceau de contenu de fichier:"); // Ouvrez un flux de fichiers d'accès aléatoire, en lecture seule RandomFile = new RandomAccessFile (fichier, "r"); // longueur de fichier, nombre d'octets longs fileLength = randomfile.length (); // Position de démarrage du fichier de lecture int débutant = (fileLength> 4)? 4: 0; // Déplacez la position de début du fichier de lecture vers la position BeginIndex. randomfile.seek (beginIndex); octet [] octets = nouveau octet [10]; int bytereread = 0; // Lire 10 octets à la fois. Si le contenu du fichier est inférieur à 10 octets, lisez les octets restants. // attribue le nombre d'octets lus en même temps à Byteread while ((byteread = randomfile.read (bytes))! = -1) {System.out.write (bytes, 0, byteread); }} catch (ioException e) {e.printStackTrace (); } enfin {if (randomfile! = null) {try {randomfile.close (); } Catch (ioException E1) {}}}} / ** * Affichez le nombre d'octets laissés dans le flux d'entrée * / privé Static void showAvailableBytes (InputStream in) {try {System.out.println ("Le nombre d'octets dans le flux d'entrée actuel des octets est:" + in.available ()); } catch (ioException e) {e.printStackTrace (); }} public static void main (string [] args) {String filename = "c: /temp/newTemp.txt"; Readfromfile.readfilebytes (nom de fichier); Readfromfile.readfilebychars (nom de fichier); Readfromfile.readFileBylines (nom de fichier); Readfromfile.readfileByrandomAccess (nom de fichier); }}5. Ajouter le contenu à la fin du fichier
Classe publique APPENDTOFILE {/ ** * MÉTHODE Un fichier APPEND: Utilisez RandomAccessFile * / public static void appendMethoda (String FileName, String Content) {try {// Ouvrez un flux de fichiers d'accès aléatoire, et lisez et écrivez RandomAccessFile Randomfile = nouveau RandomAccessFile (FileName, "RW"); // longueur de fichier, nombre d'octets longs fileLength = randomfile.length (); // Déplacez le pointeur d'écriture vers la fin du fichier. randomfile.seek (fileLength); randomfile.writeBytes (contenu); randomfile.close (); } catch (ioException e) {e.printStackTrace (); }} / ** * Méthode B Fichier des appels: Utilisez FileWriter * / public static void appendMethodb (String FileName, String Content) {try {// Ouvrir un fichier FileWriter, le deuxième paramètre du constructeur est vrai pour écrire le fichier dans un formulaire annexe FileWriter écrivain = new FileWriter (FileName, true); écrivain.write (contenu); écrivain.close (); } catch (ioException e) {e.printStackTrace (); }} public static void main (string [] args) {String filename = "c: /temp/newTemp.txt"; String Content = "Nouvelle appen!"; // APPEND FILE APPENDTOFILE.APPENDMETHODA (nom de fichier, contenu); APPENDTOFILE.APPENDMETHODA (FILENAME, "APPEND END. / N"); // Afficher le contenu du fichier readFromFile.readFileBylines (nom de fichier); // APPEND FILE APPENDTOFILE.APPENDMETHODB (nom de fichier, contenu); APPENDTOFILE.APPENDMETHODB (FILENAME, "APPEND END. / N"); // Afficher le contenu du fichier readFromFile.readFileBylines (nom de fichier); }} Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.