Este artigo descreve os métodos de leitura e gravação de arquivos na programação Java. Compartilhe -o para sua referência, como segue:
Qual é o papel das operações de leitura e gravação do arquivo em Java?
Ao responder a essa pergunta, você deve primeiro pensar em Java é apenas um idioma, nossa ferramenta de uso, para que a resposta seja clara, ou seja, escreva vários dados estranhos em um determinado arquivo para armazenamento; Ou leia seus dados do arquivo para usarmos. Assim como o processo seguinte, faça o download de um filme dos recursos de rede e salve -o no seu computador (escreva um arquivo) e use o player para abri -lo (leia o arquivo) quando quiser assisti -lo.
Como ler e escrever arquivos em java?
Vamos primeiro entender. Existem dois tipos de fluxos em Java, fluxos de bytes e fluxos de caracteres. As duas classes base dos fluxos de bytes são InputStream e OutputStream; As duas classes base de fluxos de personagens são leitor e escritor. O chamado fluxo de arquivo significa que não podemos sair do fluxo quando operamos o arquivo. A partir disso, podemos ver que queremos usar uma determinada classe que deve herdar uma das quatro classes base como acima. Tudo em Java é uma classe e tudo é um objeto. Naturalmente, você pensará em que tipos de operações de arquivos são:
As quatro classes seguintes usadas diretamente:
Stream de bytes: FileInputStream e FileOutputStream
Stream de caracteres: FileReader e FileWriter
É fácil encontrar a classe. O resto é encontrar uma maneira de implementá -lo.
Existem duas opções aqui, que envolvem como escolhemos a maneira certa de ler e escrever arquivos?
Diferenças nos critérios de seleção:
Leia os arquivos em bytes, que são frequentemente usados para ler arquivos binários, como imagens, sons, imagens e outros arquivos.
Leia arquivos em unidades de caracteres e são frequentemente usados para ler arquivos de texto, números etc.
Quanto a usar um buffer para encapsular o fluxo de entrada e saída de arquivo, depende do tamanho do arquivo. Se for uma leitura e gravação de arquivos grandes, o buffer de buffer é selecionado para fornecer eficiência de leitura e gravação de arquivos.
A seguir, é apresentado um exemplo de aplicativo simples:
1. Use o fluxo de bytes para ler e escrever arquivos diretamente:
Nota: FileOutputStream (arquivo, true); o parâmetro verdadeiro no FileOutputStream (arquivo, true); Indica que o arquivo original não é substituído e o conteúdo é adicionado diretamente após o arquivo.
public class filetest {arquivo estático de arquivo = novo arquivo ("d: /test.txt"); public static void main (string [] args) {try {FileOutputStream out = new FileOutputStream (file, true); string s = "hello, mundal!/r/n"; out.write (s.getBytes (); FileInputStream (arquivo); // byte [] b = novo byte [20]; // in.read (B, 0, B.Length); // System.out.println (new String (b)); // in.close ();} catch (FILENOTFOUNDEXCECTION E) {E.PrintStacktrace ();}; e) {e.printStackTrace ();}}}2. Use fluxos de caracteres para ler e escrever arquivos diretamente:
public class file03 {arquivo estático de arquivo = novo arquivo ("d: /test.txt"); public static void main (string [] args) {try {fileWriter fw = new FileWriter (file, true); fw.write ("hello, mundal!/r/n"); fw.frush (); fw.close (); i = 0; // string s = ""; // while ((i = fr.read ())! = -1) // {// s = s +(char) i; //} // system.out.println (s);} catch (iOxception (iOxception E) {e.rintstackTrace ();} Catch (ioxception (ioxception e);Uso de fluxos de leitura e gravação de arquivos após ser encapsulado com buffer:
1. Leia e escreva arquivos após o encapsulamento do fluxo de bytes:
Arquivo estático Arquivo = novo arquivo ("d: /test.txt"); public static void main (string [] args) {try {// fileOutputStream out = new FileOutputStream (file, true); // bufferoutoutStream bout = newBlueDOUTTUTSTREAM (out); // string s = "eu tenho um sonho!" bout.flush (); // bout.close (); fileInputStream in = new FileInputStream (FILE); bufferInputStream bin = new bufferInputStream (in); byte [] b = novo byte [15]; bin.read (b); bin.close () system.out.println (string string e) {e.printStackTrace ();} catch (ioexception e) {e.printStackTrace ();}}}2. Leia e escreva arquivos após encapsular o fluxo de caracteres:
public class File03 {arquivo estático de arquivo = novo arquivo ("d: /test.txt"); public static void main (string [] args) {try {// fileWriter fw = new FileWriter (file, true); // bufferwrity bw = new bufferWriter (fw); // string line/system.get.getProperty " + nextline); // bw.flush (); // bw.close (); fileReader fr = new fileReader (arquivo); bufferredader Br = new BufferredReader (fr); int i = 0; string s = ""; string temp = null; while (temp = B. lines)! = "; (FileNotfoundException e) {e.printStackTrace ();} catch (ioexception e) {e.printStackTrace ();}}}Espero que este artigo seja útil para a programação Java de todos.