Ei, bem-vindo de volta. Scott Stanlick aqui. Nestas lições, vamos dar uma olhada na entrada/saída do arquivo. E veremos como ler arquivos, gravar arquivos, obter metadados sobre arquivos. Então eu quero começar meu apenas dizendo que em Java você tem a capacidade de leitura e gravação de fluxos de bytes, que são caracteres de oito bits ou fluxos de caracteres, que são caracteres Unicode de 16 bits, e há uma ponte embutida para fazer a transição entre fluxos de bytes e fluxos de caracteres ou fluxos de caracteres para fluxos de bytes. E há muitas, muitas maneiras diferentes em que você pode ler o conteúdo. Mas para fluxos de impressão de dados, canalizados, canais, matrizes de bytes, buffers de string, fluxos de entrada de objetos, a lista é longa. Provavelmente há quase tudo possível que você precisaria fazer com relação à leitura ou gravação de arquivos, I/O. Então, a primeira coisa que veremos está lendo um pequeno arquivo usando esta nova biblioteca de E/S, e temos um arquivo, na verdade é um arquivo Java que vamos ler. Vamos usar a classe Files, o método readAllLines, passe o caminho e dê a ele o conjunto de caracteres, que é UTF-8. Então, se executarmos este primeiro teste, Eu recebo um stream e vou dizer para cada linha no fluxo ou para cada elemento no fluxo, Imprima isso. Então podemos ver aqui, com certeza, que se parece com o arquivo, FileReadWriteFun, então aqui está o arquivo que estamos lendo. O próximo nos mostra uma técnica que podemos usar para não ler todas as linhas em e porque se você tivesse um arquivo monstro, como um arquivo enorme, muito grande, você pode não ter memória suficiente para ler todas as linhas. Portanto, há outro comportamento na classe Files chamadas Lines que farão exatamente isso. Você transmite e enquanto lê as linhas aqui, apenas bits do arquivo são carregados na memória por vez. Portanto, é muito mais eficiente em termos de memória. Você realiza a mesma coisa que veremos aqui. Eu ainda vou ler o arquivo inteiro. Mas você leu em pedaços em vez de ler o arquivo inteiro na memória. Portanto, a mesma saída, o mesmo conteúdo, o mesmo resultado. É apenas uma maneira muito mais eficiente de memória de ler partes de um arquivo em em oposição à coisa toda. E a última leitura que veremos é um fluxo de entrada de dados onde temos controle sobre cada byte que lemos em em vez de ler linhas ou todas as linhas. Bem, a abordagem que está sendo usada aqui vamos descobrir quantos bytes estão disponíveis no leitor dado esse caminho. E vamos criar uma matriz de bytes aqui e leia todos os bytes nessa matriz de bytes. E imprima o conteúdo da matriz de bytes como uma string. Então vamos ver. Isso deve resultar na mesma saída. Com certeza sim. Então eu aprecio você assistindo. Muito obrigado.