Посимвольный вывод текста из файла на java
недавно начал программировать. Первый язык программирования java. Столкнулся с проблемой при работе со строками. Легко могу реализовать выгрузку текста из файла и вывод слов, а как реализовать посимвольный вывод не знаю. Также возникла проблема в том, как определять перенос строки на java. Пытаюсь также определить позицию символа в строке, но безуспешно. Буду очень благодарен, если объясните как это реализовать.
Ответы (2 шт):
Вывод посимвольно:
char[] cs = string.toCharArray();
for(char c : cs)
System.out.print(c);
Определить позицию символа:
indexOf() - у класса String
Вы можете использовать классы из пакета io - OutputStream/InputStream В нем куча классов как для чтения посимвольно, побайтово, в буфер, в конец, в огурец)
Если кратко, - OutputStream - это выходной поток: на консоль, в файл, а InputStream наоборот. В java все стримы построены по паттерну декоратор, тоесть в аргументы одного стрима можно засовывать другой стрим (пример ниже)
Конкретно файла на java можем сделать что-нибудь такое:
try (Reader reader = new InputStreamReader(new FileReader(pathToFile))) {
while((chr=in.read()) != -1) {
System.out.print((char) chr);
}
} catch (FileNotFoundEx | IOException e) { e.printStackTrace(); }
Для перевода строки и всяких пробелов существуют различные управляющие символы - https://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%8E%D1%89%D0%B8%D0%B5_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B - ссылка на википедию.
Например:
System.out.println("Этот символ переводит на новую строку --->\nЭта запись уже на новой строке");