Hướng dẫn và ví dụ Java CharArrayReader
1. CharArrayReader
CharArrayReader là lớp con của Reader. Đúng với cái tên, CharArrayReader được sử dụng để đọc một mảng các ký tự theo phong cách của một Reader.
CharArrayReader constructors
CharArrayReader(char[] buf)
CharArrayReader(char[] buf, int offset, int length)
Các phương thức của CharArrayReader:
public void close()
public void mark(int readAheadLimit)
public boolean markSupported()
public static Reader nullReader()
public int read()
public int read(char[] cbuf)
public int read(char[] cbuf, int off, int len)
public int read(CharBuffer target)
public boolean ready()
public void reset()
public long skip(long n)
public long transferTo(Writer out)
2. Examples
Ví dụ: Đọc một mảng ký tự theo phong cách của một Reader:
CharArrayReaderEx1.java
package org.o7planning.chararrayreader.ex;
import java.io.CharArrayReader;
import java.io.IOException;
public class CharArrayReaderEx1 {
public static void main(String[] args) throws IOException {
char[] charArray = new char[] { 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', 't', 'e', 'x', 't' };
CharArrayReader reader = new CharArrayReader(charArray);
int code;
while((code = reader.read()) != -1) {
char ch = (char) code;
System.out.println(ch);
}
}
}
Output:
T
h
i
s
i
s
t
e
x
t
Ví dụ: Sử dụng CharArrayReader và CharArrayWriter để loại bỏ các ký tự không phải là chữ số (digit) ra khỏi một văn bản.
CharArrayReaderEx2.java
package org.o7planning.chararrayreader.ex;
import java.io.CharArrayReader;
import java.io.CharArrayWriter;
import java.io.IOException;
public class CharArrayReaderEx2 {
public static void main(String[] args) throws IOException {
String originText = "Log20210217.txt";
char[] charArray = originText.toCharArray();
CharArrayReader reader = new CharArrayReader(charArray);
CharArrayWriter writer = new CharArrayWriter();
int code;
while((code = reader.read()) != -1) {
// '0', '1', ... '9'
if(code >= 48 && code <= 57) {
writer.write(code);
}
}
char[] newCharArray = writer.toCharArray(); // ['2','0','2','1','0','2','1','7']
System.out.println(newCharArray);
String newText = writer.toString();
System.out.println(newText);
}
}
Output:
20210217
20210217
Ví dụ: Một văn bản gồm nhiều dòng, loại bỏ các khoảng trắng ở đầu và cuối của mỗi dòng để tạo ra một văn bản mới.
CharArrayReaderEx3.java
package org.o7planning.chararrayreader.ex;
import java.io.BufferedReader;
import java.io.CharArrayReader;
import java.io.IOException;
public class CharArrayReaderEx3 {
public static void main(String[] args) throws IOException {
String originText = " One \n Two \t\n \t\t Three ";
System.out.println(originText);
System.out.println("-----------");
String newText = trimLines(originText);
System.out.println(newText);
}
private static String trimLines(String string) throws IOException {
CharArrayReader reader = new CharArrayReader(string.toCharArray());
BufferedReader in = new BufferedReader(reader);
StringBuilder sb = new StringBuilder(string.length());
String line;
while ((line = in.readLine()) != null) {
sb.append(line.trim()).append('\n');
}
return sb.toString();
}
}
Output:
One
Two
Three
-----------
One
Two
Three
Các hướng dẫn Java IO
- Hướng dẫn và ví dụ Java CharArrayWriter
- Hướng dẫn và ví dụ Java FilterReader
- Hướng dẫn và ví dụ Java FilterWriter
- Hướng dẫn và ví dụ Java PrintStream
- Hướng dẫn và ví dụ Java BufferedReader
- Hướng dẫn và ví dụ Java BufferedWriter
- Hướng dẫn và ví dụ Java StringReader
- Hướng dẫn và ví dụ Java StringWriter
- Hướng dẫn và ví dụ Java PipedReader
- Hướng dẫn và ví dụ Java LineNumberReader
- Hướng dẫn và ví dụ Java PushbackReader
- Hướng dẫn và ví dụ Java PrintWriter
- Hướng dẫn sử dụng luồng vào ra nhị phân trong Java
- Hướng dẫn sử dụng luồng vào ra ký tự trong Java
- Hướng dẫn và ví dụ Java BufferedOutputStream
- Hướng dẫn và ví dụ Java ByteArrayOutputStream
- Hướng dẫn và ví dụ Java DataOutputStream
- Hướng dẫn và ví dụ Java PipedInputStream
- Hướng dẫn và ví dụ Java OutputStream
- Hướng dẫn và ví dụ Java ObjectOutputStream
- Hướng dẫn và ví dụ Java PushbackInputStream
- Hướng dẫn và ví dụ Java SequenceInputStream
- Hướng dẫn và ví dụ Java BufferedInputStream
- Hướng dẫn và ví dụ Java Reader
- Hướng dẫn và ví dụ Java Writer
- Hướng dẫn và ví dụ Java FileReader
- Hướng dẫn và ví dụ Java FileWriter
- Hướng dẫn và ví dụ Java CharArrayReader
- Hướng dẫn và ví dụ Java ByteArrayInputStream
- Hướng dẫn và ví dụ Java DataInputStream
- Hướng dẫn và ví dụ Java ObjectInputStream
- Hướng dẫn và ví dụ Java InputStreamReader
- Hướng dẫn và ví dụ Java OutputStreamWriter
- Hướng dẫn và ví dụ Java InputStream
- Hướng dẫn và ví dụ Java FileInputStream
Show More
- Hướng dẫn lập trình Java Servlet/JSP
- Các hướng dẫn Java New IO
- Các hướng dẫn Spring Cloud
- Các hướng dẫn Java Oracle ADF
- Các hướng dẫn Java Collections Framework
- Java cơ bản
- Các hướng dẫn Java Date Time
- Các thư viện mã nguồn mở Java
- Các hướng dẫn Java Web Services
- Các hướng dẫn Struts2 Framework
- Các hướng dẫn Spring Boot