Chcę odczytać z pliku, odczyt się powiódł, ale ponieważ plik, który czytam, zawiera wiele wierszy, otrzymany ciąg zawiera „\ n” w środku. Jak sobie z tym poradzić w elegancki sposób? Nie chcę go później zastępować, czy istnieje bardziej optymalny sposób odczytu z pliku?
Wprowadź tekst
Anne big word random etc
another line here still input text
Mój kod Java:
private static String readLineByLineJava8(String filePath)
{
StringBuilder contentBuilder = new StringBuilder();
try (Stream<String> stream = Files.lines( Paths.get(filePath), StandardCharsets.UTF_8))
{
stream.forEach(s -> contentBuilder.append(s).append("\n"));
}
catch (IOException e)
{
e.printStackTrace();
}
return contentBuilder.toString();
}
private void ReadStringPrintOccurence() {
String filePath = "imput.txt";
String temp = readLineByLineJava8(filePath);
String[] array = temp.split("\\r?\\n"); \\split in two arrays
array = temp.split(" "); \\ further split by space
}
Próbowałem to obejść, dzieląc tablicę najpierw za pomocą separatora linii, a następnie przez przestrzeń, która została między nimi, aby uzyskać słowa w mojej tablicy ciągów. W ten sposób otrzymuję array[4] = etc\nanother and array[9] = text\n
. Jakie masz sugestie dotyczące tego?
1 odpowiedź
Jeśli dobrze rozumiem, musisz przeczytać plik zachowując znaki nowej linii ... i ostatecznie zebrać je w łańcuch. Ostatnio zrobiłem to samo, używając innego interfejsu API w plikach. Oto kod.
private static String readFileAsString(String filename) throws URISyntaxException, IOException {
return new String(Files.readAllBytes(Paths.get(filePath)));
}
Więcej informacji znajdziesz w tym poście – https://www.mkyong. com/java/java-files-readallbytes-example/
Podobne pytania
Nowe pytania
java
Java to język programowania wysokiego poziomu. Użyj tego tagu, jeśli masz problemy z używaniem lub zrozumieniem samego języka. Ten tag jest rzadko używany samodzielnie i jest najczęściej używany w połączeniu z [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] i [maven].