Java 11: use `Files.readString` to read a file to a String
Los mantenedores suelen responder en 1 día
@Ouokki ya está trabajando en esto.
Desde el 17/6/2026.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
El issue proporciona ejemplos de Java que usan Files.readAllBytes, BufferedReader, Scanner y APIs relacionadas, pero no indica archivos del repositorio ni pruebas. Empieza localizando las recetas de migración de Java existentes que transforman patrones de lectura de archivos y, después, determina cómo se prueba la cobertura; se considera terminado cuando los patrones aplicables se hayan migrado a Java 11 Files.readString y existan pruebas para los casos compatibles.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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);
- Lenguaje dominante
- Java
- Estrellas
- 156
- Forks
- 129
- Merge medio
- 7 h 12 min
- PR fusionados (30 d)
- 43
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de openrewrite/rewrite-migrate-java
-
bug
Dificultad 3/5 Medio día Aptitud para principiantes 40/100
openrewrite/rewrite-migrate-java#1292 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
openrewrite/rewrite-migrate-java#1289 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
openrewrite/rewrite-migrate-java#1246 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 32/100
openrewrite/rewrite-migrate-java#1227 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
OptionalNotPresentToIsEmpty rewrites `!isPresent()` on a non-`java.util.Optional` type, producing uncompilable `isEmpty()`Quizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
openrewrite/rewrite-migrate-java#1146 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de openrewrite/rewrite-migrate-java
Issues similares
-
RRateLimiter acquire methods accept negative permits and raise available permits above the rate.Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 4 días
-
README 中的代码语言数量与当前目录不一致Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
krahets/hello-algo#1993 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
NationalSecurityAgency/ghidra#9884 ·
Los mantenedores suelen responder en 2 días
-
Status: Pending Review Type: Feature Request
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
OpenRefine/OpenRefine#8019 ·
Los mantenedores suelen responder en 1 día
-
[TEMP] pin maven version to 3.9.xPosiblemente ocupada @petrenyi-mark la tomó hoy. Abierto
Dificultad 2/5 Menos de una hora Aptitud para principiantes 62/100