Привет, друзья, здравствуйте, я Мяу Шоу.
Сегодня я хочу поделиться с вами некоторыми знаниями, которые я узнал ежедневно, и пообщаться с вами в форме слов, чтобы учиться друг у друга. Хотя один человек может идти быстрее, группа людей может идти дальше.
Я энтузиаст серверной разработки, и язык, с которым я чаще всего сталкиваюсь в своей повседневной работе, — это язык Java, поэтому я стараюсь использовать свое свободное время для вывода того, что я узнал, в виде статей. надеясь таким образом помочь новичкам или друзьям, которые хотят начать, они также могут накопить свои собственные навыки, просмотреть их и проверить наличие недостатков.
Друзья, в процессе рассмотрения, если вы считаете статью хорошей, ставьте лайк, собирайте и подписывайтесь на нее. Санлиан — лучшая поддержка и поддержка для меня и автора на моем писательском пути!Предисловие
на Яве,Нам часто нужно прочитать содержимое файла,Однако содержимое файла часто содержит множество символов.,Как эффективно читать эти символы — проблема, с которой мы столкнулись во время разработки. здесь,мы познакомимJavaвReader
добрый,Это помогает нам анализировать потоки символов.,Легко читайте содержимое файла.
Эта статья познакомит васJavaвReader
добрый,включать:
Reader
добрый的概述和常用方法介绍Reader
добрый读取文本документBufferedReader
добрый提高读取效率InputStreamReader
добрый解决документ编码问题Reader
добрый的概述和常用方法介绍на Яве,Reader
добрый用于读取字符流。它是所有字符输入流的父добрый,Может читать массивы символов, строки и т. д.
Обычно используетсяReader
Метод заключается в следующем:
read()
:Прочитать один символ,и возвращает его значение в Юникоде. Если достигнут конец потока,Возврат -1.read(char[] cbuf)
:Считать символы в массив。Возвращает количество прочитанных символов,Если достигнут конец потока,Возврат -1.read(char[] cbuf, int offset, int length)
:Считать символы в массив的某一部分。offsetУказывает индекс, с которого начинается сохранение массива.,длина указывает количество символов, которые, как ожидается, будут прочитаны.skip(long n)
:перепрыгниnперсонажи。close()
:закрыть поток。Reader
добрый读取文本документВот использованиеReader
добрый读取文本документ的简单示例:
package com.example.javase.io;
import org.junit.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.io.FileReader;
import java.io.IOException;
/**
* @date 2023/9/12 15:09
*/
@SpringBootTest
public class ReaderTest {
@Test
public void testFileReader() {
try {
FileReader reader = new FileReader("./template/hello.txt");
int data = reader.read();
while (data != -1) {
System.out.print((char) data);
data = reader.read();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
В примере,Сначала мы создалиFileReader
объект,а потом позвониread()
方法逐个读取документв字符,и преобразовать его вchar
добрый型输出到控制台。наконец,Мы звонимclose()
方法закрыть поток。
Демонстрация результата выполнения:
прикреплятьhello.txt
Скриншот текста:
BufferedReader
добрый提高读取效率При чтении больших файлов,Чтение посимвольно менее эффективно. поэтому,мы можем использоватьBufferedReader
добрый提高读取效率。BufferedReader
добрый可以一次读取多персонажи,и сохраните их в буфере. так,Когда нам нужно прочитать следующий символ,Мы можем получить его прямо из буфера,Нет необходимости читать файл каждый раз.
Вот использованиеBufferedReader
добрый读取文本документ的示例:
@Test
public void testBufferedReader() {
try {
FileReader reader = new FileReader("./template/hello.txt");
BufferedReader br = new BufferedReader(reader);
String line = br.readLine();
while (line != null) {
System.out.println(line);
line = br.readLine();
}
br.close();
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
В примере,Сначала мы создалиFileReader
объект,Затем создал еще одинBufferedReader
объект。мы используемreadLine()
Метод чтения содержимого файла построчно,и выведите его на консоль. наконец,Мы звонимclose()
方法закрыть поток。
Скриншот выполнения теста выглядит следующим образом:
InputStreamReader
добрый解决документ编码问题во время чтения файла,Иногда мы сталкиваемся с проблемами кодирования файлов. Например,Когда мы хотим прочитать файл в кодировке UTF-8,Если вы используетеFileReader
добрый,Могут возникнуть искажения символов. В это время,мы можем использоватьInputStreamReader
добрый来解决这个问题。
Вот использованиеInputStreamReader
добрый读取UTF-8Пример закодированного файла:
@Test
public void testInputStreamReader() {
try {
InputStream is = new FileInputStream("./template/hello.txt");
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line = br.readLine();
while (line != null) {
System.out.println(line);
line = br.readLine();
}
br.close();
isr.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
В примере,Сначала мы создалиFileInputStream
объект,и создалInputStreamReader
объект。СозданиеInputStreamReader
объект时,Мы указали кодировку файла UTF-8. Затем,Мы создали еще одинBufferedReader
объект,Используется для чтения содержимого файла построчно. наконец,Мы звонимclose()
方法закрыть поток。
Скриншот выполнения выглядит следующим образом:
мы можем создатьhello.txt
документ,Напишите в него следующее:
hello,my friends!
Затем, запустив приведенный выше пример кода, мы сможем увидеть содержимое файла на консоли.
в этой статье,мы представилиJavaвReader
добрый。Мы впервые представилиReader
добрый的概述和常用方法,然后讲解了Как использоватьReader
добрый读取文本документ以及Как использоватьBufferedReader
добрый提高读取效率。наконец,我们还介绍了Как использоватьInputStreamReader
добрый解决документ编码问题。Благодаря введению этой статьи,相信读取документ内容再也不是难事了!# Java's Reader: анализ потоков символов и чтение содержимого файлов теперь не составляет труда!
... ...
Хорошо, это все, что у меня есть по этому вопросу. Если у вас есть вопросы, оставьте сообщение ниже. Увидимся в следующем выпуске.
... ...
Нет порядка обучения, нет объема знаний; как бы ни было дело велико или мало, следует спрашивать совета непредвзято, если нас трое, у нас должен быть учитель! ! !
wished for you successed !!!
⭐️Если я вам нравлюсь, подписывайтесь на меня.
⭐️Если вам было полезно, поставьте лайк.
⭐️Если у вас есть вопросы, оставьте комментарий и дайте мне знать.