Java 11: use `Files.readString` to read a file to a String
Maintainer antworten meist innerhalb von 1 Tag
@Ouokki arbeitet bereits daran.
Seit 17.6.2026.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 42/100
Rechercherichtung
Das Issue enthält Java-Beispiele mit Files.readAllBytes, BufferedReader, Scanner und verwandten APIs, nennt jedoch keine Repository-Dateien oder Tests. Beginne damit, vorhandene Java-Migrationsrezepte zu finden, die Muster zum Lesen von Dateien umwandeln, und ermittle anschließend, wie die Abdeckung getestet wird; abgeschlossen ist die Aufgabe, wenn die zutreffenden Muster auf Java 11 Files.readString migriert wurden und Tests für die unterstützten Fälle vorhanden sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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);
- Vorherrschende Sprache
- Java
- Sterne
- 159
- Forks
- 130
- Ø Merge
- 6 Std. 49 Min.
- Gemergte PRs (30 T.)
- 47
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus openrewrite/rewrite-migrate-java
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 68/100
openrewrite/rewrite-migrate-java#1246 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 32/100
openrewrite/rewrite-migrate-java#1227 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
OptionalNotPresentToIsEmpty rewrites `!isPresent()` on a non-`java.util.Optional` type, producing uncompilable `isEmpty()`Evtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 70/100
openrewrite/rewrite-migrate-java#1146 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 50/100
openrewrite/rewrite-migrate-java#1119 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
openrewrite/rewrite-migrate-java#1069 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in openrewrite/rewrite-migrate-java
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
apache/rocketmq-dashboard#6872 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
ADORSYS-GIS/token-status-link#168 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
ADORSYS-GIS/keycloak-oid4vp-plugin#232 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Type/Improvement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
wso2/product-integrator-mi#5099 ·
Maintainer antworten meist innerhalb von 1 Tag