Este artículo comparte el método Java para leer archivos para su referencia. El contenido específico es el siguiente
1. Lea el contenido del archivo por bytes
2. Lea el contenido del archivo por caracteres
3. Lea el contenido del archivo por línea
4. Contenido de archivo de lectura al azar
La clase pública ReadFromFile { /*** Lee archivos en bytes, a menudo utilizados para leer archivos binarios, como imágenes, sonidos, imágenes y otros archivos. */ public static void readFileByBytes (string filename) {archivo archivo = nuevo archivo (nombre de archivo); InputStream in = null; Pruebe {System.out.println ("Lea el contenido del archivo en bytes, lea un byte a la vez:"); // Leer un byte a la vez en = nuevo FileInputStream (archivo); int tempbyte; while ((tempbyte = in.read ())! = -1) {system.out.write (tempbyte); } in.close (); } catch (ioException e) {E.PrintStackTrace (); devolver; } try {System.out.println ("Lea el contenido del archivo en bytes, lea múltiples bytes a la vez:"); // leer múltiples bytes a la vez byte [] tempbytes = new byte [100]; int byteread = 0; in = new FileInputStream (nombre de archivo); ReadFromFile.ShowavailableBytes (in); // Leer múltiples bytes en la matriz de bytes, Byteread es el número de bytes leídos en una vez ((byteread = in.read (tempbytes))! = -1) {system.out.write (tempbytes, 0, byteread); }} capt (excepción e1) {e1.printstackTrace (); } finalmente {if (in! = null) {try {in.close (); } catch (ioException e1) {}}}} / *** Lea los archivos en caracteres, a menudo usados para leer archivos de texto, números, etc.* / public static void readFileByChars (string fileName) {file file = new File (FileName); Lector lector = null; Pruebe {System.out.println ("Lea el contenido del archivo en caracteres, lea un byte a la vez:"); // Leer un carácter en un lector de tiempo = nuevo InputStreamReader (nuevo FileInputStream (File)); int tempchar; while ((tempchar = lector.read ())! = -1) {// para Windows, cuando los dos caracteres /R /n están juntos, representan una nueva línea. // Pero si estos dos caracteres se muestran por separado, las líneas se cambiarán dos veces. // Por lo tanto, bloque /r, o bloque /n. De lo contrario, habrá muchas más señales en blanco. if (((char) tempchar)! = '/r') {system.out.print ((char) tempchar); }} lector.close (); } catch (Exception e) {E.PrintStackTrace (); } try {System.out.println ("Lea el contenido del archivo en caracteres, lea múltiples bytes a la vez:"); // Leer varios caracteres en un tiempo char [] tempchars = nuevo char [30]; int charread = 0; lector = new InputStreamReader (new FileInputStream (nombre de archivo)); // Leer varios caracteres en la matriz de caracteres, CharRead es el número de caracteres leídos en una vez que ((charread = lector.read (tempchars))! = -1) {// también bloqueado/r no muestra if ((charread == tempchar.length) && (tempchars [temparchars.length - 1]! = '/R')) {System.Print (tempts); } else {for (int i = 0; i <charread; i ++) {if (tempchars [i] == '/r') {continuar; } else {System.out.print (tempHars [i]); }}}}}}} Catch (Exception e1) {e1.printstackTrace (); } Finalmente {if (lector! = null) {try {reader.close (); } catch (ioException e1) {}}}} / ** * Lea el archivo en unidades de comportamiento, a menudo se usa para leer archivos formateados con * / public static void readFileByLines (string fileName) {archivo archivo = nuevo archivo (nombre de archivo); BufferedReader lector = null; Pruebe {System.out.println ("Lea el contenido del archivo en unidades de comportamiento, lea una línea completa a la vez:"); lector = new BufferedReader (new FileReader (archivo)); Cadena temptring = null; line int = 1; // Leer en una línea a la vez hasta que NULL esté el final del archivo while ((temptring = lecter.readline ())! = Null) {// show number system.out.println ("line" + line + ":" + temptring); línea ++; } lector.close (); } catch (ioException e) {E.PrintStackTrace (); } Finalmente {if (lector! = null) {try {reader.close (); } Catch (ioException e1) {}}}} / *** Contenido de archivo de lectura aleatoria* / public static void readFileByRandomAccess (String fileName) {randomAccessFile randomFile = null; intente {System.out.println ("Random Lea una pieza de contenido del archivo:"); // Abrir una transmisión de archivo de acceso aleatorio, solo lectura randomfile = new RandomAccessFile (nombre de archivo, "r"); // Longitud del archivo, número de bytes largos fileLength = randomFile.length (); // Iniciar posición del archivo de lectura int beginIndex = (Filelength> 4)? 4: 0; // Mueve la posición de inicio del archivo de lectura a la posición BeginIndex. RandomFile.seek (BeginIndex); byte [] bytes = new Byte [10]; int byteread = 0; // Leer 10 bytes a la vez. Si el contenido del archivo es inferior a 10 bytes, lea los bytes restantes. // asigna el número de bytes leídos a la vez a byteread while ((byteread = randomfile.read (bytes))! = -1) {system.out.write (bytes, 0, byteread); }} catch (ioException e) {E.PrintStackTrace (); } Finalmente {if (randomFile! = null) {try {randomFile.close (); } catch (ioException e1) {}}}} / *** Muestre el número de bytes que quedan en la secuencia de entrada* / privado void static showavailableBytes (inputStream in) {try {system.out.println ("El número de bytes en la corriente de entrada de byte actual es:" + in.avilable ()); } catch (ioException e) {E.PrintStackTrace (); }} public static void main (string [] args) {string filename = "c: /temp/newtemp.txt"; ReadFromFile.ReadFileByBytes (nombre de archivo); ReadFromFile.ReadFileByChars (nombre de archivo); ReadFromFile.ReadFileByLines (nombre de archivo); ReadFromFile.ReadFileByRandomAccess (nombre de archivo); }}5. Agregue el contenido al final del archivo
Método de la clase pública AppendToFile { / ** * Un archivo de Ajuste: use RandomAccessFile * / public static void appendMethoda (string filename, string content) {try {// Abra una transmisión de archivo de acceso aleatorio, y lea y escriba RandomACSessfile RandomFile = New RandomAccessFile (nombre de archivo, "RW"); // Longitud del archivo, número de bytes largos fileLength = randomFile.length (); // Mueve el puntero del archivo de escritura al final del archivo. RandomFile.seek (Filelength); RandomFile.Writebytes (contenido); randomFile.close (); } catch (ioException e) {E.PrintStackTrace (); }} /** * Método B APRENDIDA ACTIVO: Use FileWriter * /public static void appendMethodb (String filename, string content) {try {// abre un escritor de archivos, el segundo parámetro en el constructor es verdadero para escribir el archivo en un formulario de formulario de FileWriter = New FileWriter (nombre de archivo, verdadero); escritor.write (contenido); escritor.close (); } catch (ioException e) {E.PrintStackTrace (); }} public static void main (string [] args) {string filename = "c: /temp/newtemp.txt"; String content = "¡Nuevo append!"; // Agregar archivo appendToFile.appendMethoda (nombre de archivo, contenido); AppendToFile.appendMethoda (nombre de archivo, "append end. /N"); // Mostrar contenido del archivo readFromFile.ReadFileByLines (nombre de archivo); // Agregar archivo appendToFile.appendMethodb (nombre de archivo, contenido); AppendToFile.appendMethodb (nombre de archivo, "append end. /N"); // Mostrar contenido del archivo readFromFile.ReadFileByLines (nombre de archivo); }} Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.