Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Java 11: use `Files.readString` to read a file to a String

Aberta
#91 2 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@Ouokki já está trabalhando nisso.

Desde 17/6/2026.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
42/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Pouca atividade
Stack de tecnologia
java
Domínio
tooling

Direção de pesquisa

A issue fornece exemplos em Java usando Files.readAllBytes, BufferedReader, Scanner e APIs relacionadas, mas não nomeia arquivos nem testes do repositório. Comece localizando as receitas de migração Java existentes que transformam padrões de leitura de arquivos e, em seguida, determine como a cobertura é testada; considera-se concluído quando os padrões aplicáveis tiverem sido migrados para Java 11 Files.readString e houver testes para os casos compatíveis.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

guava recipe uses-dataflow

There are many patterns to read all the contents of a File to a String

All the methods below will throw OOM if the file is larger than the available memory


// Java 7

String content = new String(Files.readAllBytes(Paths.get("file.txt")), StandardCharsets.UTF_8)`

// Using Guava 
import com.google.common.base.Charsets;
import com.google.common.io.Files;

String text = Files.toString(new File(path), Charsets.UTF_8);

// Using Files.readAllBytes

Path filePath = Path.of("file.txt");
String fileContent = "";

try
{
    byte[] bytes = Files.readAllBytes(Paths.get(filePath));
    fileContent = new String (bytes);
} 
catch (IOException e) 
{
    e.printStackTrace();
}

// Using BufferedReader (Java 6)

Path filePath = Path.of("file.txt");
String fileContent = "";

StringBuilder contentBuilder = new StringBuilder();
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) 
{

    String sCurrentLine;
    while ((sCurrentLine = br.readLine()) != null) 
    {
        contentBuilder.append(sCurrentLine).append("\n");
    }
} 
catch (IOException e) 
{
    e.printStackTrace();
}

fileContent = contentBuilder.toString();

// Using Commons IO

File file = new File("file.txt");

String content = FileUtils.readFileToString(file, "UTF-8");

// Using the Scanner class

  File file = new File("file.txt");
  StringBuilder fileContents = new StringBuilder();        

    try (Scanner scanner = new Scanner(file)) {
        while(scanner.hasNextLine()) {
            fileContents.append(scanner.nextLine() + System.lineSeparator());
        }

    }

// Using the Scanner class with String concatenation

  File file = new File("file.txt");
  String fileContents = ""  

    try (Scanner scanner = new Scanner(file)) {
        while(scanner.hasNextLine()) {
            fileContents = fileContents  + System.lineSeparator());
        }
     
    }


Starting with Java 11, all the patterns above could be replaced with


Path filePath = Path.of("file.txt");
String content = Files.readString(fileName);

Linguagem predominante
Java
Estrelas
160
Forks
133
Merge médio
4h 52min
PRs com merge (30d)
105

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de openrewrite/rewrite-migrate-java

Todas as issues de openrewrite/rewrite-migrate-java

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.