English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java code
public class ReadFromFile { /** * Ler arquivo em bytes, usado frequentemente para ler arquivos binários, como imagens, áudio, vídeo e outros arquivos. */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; abrir um gravador de arquivo, o segundo parâmetro true indica que o arquivo deve ser gravado em modo de append System.out.println("Lendo o conteúdo do arquivo em bytes, um byte de cada vez:"); // Um byte de cada vez in = new FileInputStream(file); int tempbyte; while ((tempbyte = in.read()) != -1) { System.out.write(tempbyte); } in.close(); } e.printStackTrace(); return; } abrir um gravador de arquivo, o segundo parâmetro true indica que o arquivo deve ser gravado em modo de append System.out.println("Ler conteúdo do arquivo em unidades de byte, várias bytes por vez:"); // Ler vários bytes por vez byte[] tempbytes = new byte[100]; int byteread = 0; in = new FileInputStream(fileName); ReadFromFile.showAvailableBytes(in); // Ler vários bytes para o array de bytes, byteread representa a quantidade de bytes lidos por vez while ((byteread = in.read(tempbytes)) != -1) { System.out.write(tempbytes, 0, byteread); } } catch (Exception e1) { e1.printStackTrace(); } if (in != null) { abrir um gravador de arquivo, o segundo parâmetro true indica que o arquivo deve ser gravado em modo de append in.close(); } catch (IOException e1) { } } } } /** * Ler arquivo em unidades de caractere, usado frequentemente para arquivos de texto, números e outros tipos */ public static void readFileByChars(String fileName) { File file = new File(fileName); Reader reader = null; abrir um gravador de arquivo, o segundo parâmetro true indica que o arquivo deve ser gravado em modo de append System.out.println("Ler conteúdo do arquivo em unidades de caractere, um byte por vez:"); // Ler um caractere por vez reader = new InputStreamReader(new FileInputStream(file)); int tempchar; while ((tempchar = reader.read()) != -1) { // Para o Windows, os dois caracteres '\r\n' juntos representam uma troca de linha. // Mas se esses dois caracteres forem exibidos separadamente, haverá duas trocas de linha. // Portanto, bloqueie o '\r', ou bloqueie '\n'. Caso contrário, haverá muitas linhas em branco. if (((char) tempchar) != '\r') { System.out.print((char) tempchar); } } reader.close(); } catch (Exception e) { e.printStackTrace(); } abrir um gravador de arquivo, o segundo parâmetro true indica que o arquivo deve ser gravado em modo de append System.out.println("Ler conteúdo do arquivo em unidades de caractere, várias bytes por vez:"); // Ler vários caracteres por vez char[] tempchars = new char[30]; int charread = 0; reader = new InputStreamReader(new FileInputStream(fileName)); // Ler vários caracteres para o array de caracteres, charread representa a quantidade de caracteres lidos por vez while ((charread = reader.read(tempchars)) != -1) { // Também ocultar o \r não para mostrar 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') { continue; } else { System.out.print(tempchars[i]); } } } } } catch (Exception e1) { e1.printStackTrace(); } if (reader != null) { abrir um gravador de arquivo, o segundo parâmetro true indica que o arquivo deve ser gravado em modo de append reader.close(); } catch (IOException e1) { } } } } /** * Ler arquivo linha por linha, usado frequentemente para formatos de arquivo orientados a linhas */ public static void readFileByLines(String fileName) { File file = new File(fileName); BufferedReader reader = null; abrir um gravador de arquivo, o segundo parâmetro true indica que o arquivo deve ser gravado em modo de append System.out.println("Ler conteúdo do arquivo linha por linha, ler uma linha inteira de cada vez:"); reader = new BufferedReader(new FileReader(file)); String tempString = null; int line = 1; // Ler uma linha de cada vez, até que seja lido null como o fim do arquivo while ((tempString = reader.readLine()) != null) { // Mostrar o número da linha System.out.println("line "); + line + ": " + tempString); line++; } reader.close(); } e.printStackTrace(); } if (reader != null) { abrir um gravador de arquivo, o segundo parâmetro true indica que o arquivo deve ser gravado em modo de append reader.close(); } catch (IOException e1) { } } } } /** * Ler conteúdo do arquivo aleatoriamente */ public static void readFileByRandomAccess(String fileName) { RandomAccessFile randomFile = null; abrir um gravador de arquivo, o segundo parâmetro true indica que o arquivo deve ser gravado em modo de append System.out.println("Ler um trecho de conteúdo do arquivo aleatoriamente:"); // Abrir um fluxo de acesso aleatório de arquivo, em modo de leitura randomFile = new RandomAccessFile(fileName, "r"); // File length, number of bytes long fileLength = randomFile.length(); // The starting position of reading the file int beginIndex = (fileLength > 4) &63; 4 : 0; // Move the read file start position to the beginIndex position. randomFile.seek(beginIndex); byte[] bytes = new byte[10]; int byteread = 0; // Read once10bytes, if the file content is not enough10bytes, if the file content is not enough // Assign the number of bytes read in one read to byteread while ((byteread = randomFile.read(bytes)) != -1) { System.out.write(bytes, 0, byteread); } } e.printStackTrace(); } if (randomFile != null) { abrir um gravador de arquivo, o segundo parâmetro true indica que o arquivo deve ser gravado em modo de append randomFile.close(); } catch (IOException e1) { } } } } /** * Display the number of bytes remaining in the input stream */ private static void showAvailableBytes(InputStream in) { abrir um gravador de arquivo, o segundo parâmetro true indica que o arquivo deve ser gravado em modo de append System.out.println("The number of bytes available in the current byte input stream is: "); + in.available()); } e.printStackTrace(); } } public static void main(String[] args) { String fileName = "C:\/temp/"newTemp.txt"; ReadFromFile.readFileByBytes(fileName); ReadFromFile.readFileByChars(fileName); ReadFromFile.readFileByLines(fileName); ReadFromFile.readFileByRandomAccess(fileName); } }
Java code
public class AppendToFile { /** * Append file method A: using RandomAccessFile */ public static void appendMethodA(String fileName, String content) { abrir um gravador de arquivo, o segundo parâmetro true indica que o arquivo deve ser gravado em modo de append // Open a random access file stream in read-write mode RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw"); // File length, number of bytes long fileLength = randomFile.length(); //Move the write file pointer to the end of the file. randomFile.seek(fileLength); randomFile.writeBytes(content); randomFile.close(); } e.printStackTrace(); } } /** * Adicionar ao arquivo usando o método B: FileWriterr */ public static void appendMethodB(String fileName, String content) { abrir um gravador de arquivo, o segundo parâmetro true indica que o arquivo deve ser gravado em modo de append //FileWriter writer = new 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!"; //Adicionar ao arquivo usando o método A AppendToFile.appendMethodA(fileName, content); AppendToFile.appendMethodA(fileName, "append end. \n"); //Exibir o conteúdo do arquivo ReadFromFile.readFileByLines(fileName); //Adicionar ao arquivo usando o método B AppendToFile.appendMethodB(fileName, content); AppendToFile.appendMethodB(fileName, "append end. \n"); //Exibir o conteúdo do arquivo ReadFromFile.readFileByLines(fileName); } }
Isso é tudo que o editor trouxe para você sobre a leitura e escrita de arquivos Java (exemplo simples), esperamos que você apóie e grite o tutorial!