1. Leer el contenido del archivo por bytes
clase pública ReadFromFile {public static void readFileByBytes(String fileName) {File file = new File(fileName);InputStream in = null;try {System.out.println("Lea el contenido del archivo en bytes, una palabra a la vez Sección: ");//Leer un byte a la vez en = new FileInputStream(file);int tempbyte; while ((tempbyte = in.read()) != -1) {System.out.write(tempbyte);}in.close();} catch (IOException e) {e.printStackTrace();return;}try {System.out.println("Leer archivo en bytes Contenido, leer varios bytes a la vez: ");// Leer varios bytes a la vez byte[] tempbytes = new byte[100];int byteread = 0;in = new FileInputStream(fileName);ReadFromFile.showAvailableBytes(in);//Lee varios bytes en la matriz de bytes, byteread es el número de bytes leídos a la vez while ((byteread = in.read(tempbytes)) != - 1) { System.out.write(tempbytes, 0, byteread);}} catch (Excepción e1) {e1.printStackTrace();} finalmente {if (en! = nulo) {intenta {in.close();} captura (IOException e1) {}}}}
2. Leer el contenido del archivo por carácter
public static void readFileByChars(String fileName) {File file = new File(fileName);Reader Reader = null;try {System.out.println("Lea el contenido del archivo en unidades de caracteres, un byte a la vez:"); /Leer un carácter a la vez lector = new InputStreamReader(new FileInputStream(archivo));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. // Entonces, bloquea /r o bloquea /n. De lo contrario, habrá muchas líneas en blanco. if (((char) tempchar) != '/r') {System.out.print((char) tempchar);}}reader.close();} catch (Excepción e) {e.printStackTrace();} intente {System.out.println("Lea el contenido del archivo en unidades de caracteres, lea varios bytes a la vez:");//Lea varios caracteres a la vez char[] tempchars = new char[30];int charread = 0;reader = new InputStreamReader(new FileInputStream(fileName));//Lee varios caracteres en la matriz de caracteres, charread es el número de caracteres leídos a la vez mientras ((charread = lector.read(tempchars)) != -1 ) {// También protege /r y no muestra if ((charread == tempchars.length)&& (tempchars[tempchars.length - 1] != '/r')) {System.out.print(tempchars);} else {for (int i = 0; i < charread; i++) {if (tempchars[i] == '/r') {continuar;} else {System.out. print(tempchars[i]);}}}}} catch (Excepción e1) {e1.printStackTrace();} finalmente {if (reader!= null) {try {reader.close();} catch (IOExcepción e1) {}}}}
3. Lea el contenido del archivo línea por línea
public static void readFileByLines(String fileName) {File file = new File(fileName);BufferedReader Reader = null;try {System.out.println("Lea el contenido del archivo en unidades de línea, lea una línea completa a la vez:") ;reader = new BufferedReader(new FileReader(file));String tempString = null;int line = 1;//Leer una línea a la vez hasta que se lea null como final del archivo mientras ((tempString = lector.readLine()) != null) {//Mostrar número de línea System.out.println("line " + line + ": " + tempString);line++;}reader.close();} catch (IOException e) {e.printStackTrace();} finalmente {if (lector!= null) {prueba {reader.close();} catch (IOException e1) {}}}}
4. Leer aleatoriamente el contenido del archivo.
public static void readFileByRandomAccess(String fileName) {RandomAccessFile randomFile = null;try {System.out.println("Leer aleatoriamente el contenido de un archivo:");//Abrir una secuencia de archivos de acceso aleatorio en modo de solo lectura randomFile = new RandomAccessFile ( fileName, "r"); // Longitud del archivo, número de bytes long fileLength = randomFile.length() // Lee la posición inicial del archivo int BeginIndex = (fileLength > 4) ? 4: 0;// Mueve la posición inicial de lectura del archivo a la posición BeginIndex. randomFile.seek(beginIndex);byte[] bytes = new byte[10];int byteread = 0;//Lee 10 bytes a la vez si el contenido del archivo tiene menos de 10 bytes, lee 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) {prueba {randomFile.close();} catch (IOException e1) {}}}}vacío estático privado showAvailableBytes(InputStream in) {try {System.out.println("El número de bytes en el flujo de entrada de bytes actual es:" + in.available());} 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 contenido al final del archivo.
clase pública AppendToFile {public static void appendMethodA(String fileName, String content) {try {//Abrir una secuencia de archivos de acceso aleatorio, leer y escribir RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");// Longitud del archivo, palabras Número de secciones long fileLength = randomFile.length();//Mueva el puntero de escritura del archivo al final del archivo. randomFile.seek(fileLength);randomFile.writeBytes(content);randomFile.close();} catch (IOException e) {e.printStackTrace();}}public static void appendMethodB(String fileName, String content) {try {/ /Abrir un escritor de archivos. El segundo parámetro verdadero en el constructor significa escribir el archivo en forma adjunta FileWriter escritor = nuevo FileWriter(fileName, true);writer.write(content);writer.close();} catch (IOException e) {e.printStackTrace();}} public static void main(String[] args) {String fileName = "C:/temp /newTemp.txt";String content = "new append!";//Agregue el archivo según el método AAppendToFile.appendMethodA(fileName, content);AppendToFile.appendMethodA(fileName, "append end. /n");//Mostrar el contenido del archivo ReadFromFile.readFileByLines(fileName);//Agregar el archivo según el método BAppendToFile.appendMethodB(fileName, content);AppendToFile. appendMethodB( nombre de archivo, "append end. /n");//Mostrar el contenido del archivo ReadFromFile.readFileByLines(fileName);}}