国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java的字符讀寫類CharArrayReader和CharArrayWriter使用示例

Java的字符讀寫類CharArrayReader和CharArrayWriter使用示例

2020-05-19 10:52skywang JAVA教程

這篇文章主要介紹了Java的字符讀寫類CharArrayReader和CharArrayWriter使用示例,兩個類分別繼承于Reader和Writer,需要的朋友可以參考下

CharArrayReader
CharArrayReader 是字符數組輸入流。它和ByteArrayInputStream類似,只不過ByteArrayInputStream是字節數組輸入流,而CharArray是字符數組輸入流。CharArrayReader 是用于讀取字符數組,它繼承于Reader。操作的數據是以字符為單位!
CharArrayReader 函數列表:

?
1
2
3
4
5
6
7
8
9
10
11
CharArrayReader(char[] buf)
CharArrayReader(char[] buf, int offset, int length)
 
void   close()
void   mark(int readLimit)
boolean  markSupported()
int    read()
int    read(char[] buffer, int offset, int len)
boolean  ready()
void   reset()
long   skip(long charCount)

示例代碼:
關于CharArrayReader中API的詳細用法,參考示例代碼(CharArrayReaderTest.java):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import java.io.CharArrayReader;
import java.io.CharArrayWriter;
import java.io.IOException;
 
public class CharArrayReaderTest {
 
  private static final int LEN = 5;
  // 對應英文字母“abcdefghijklmnopqrstuvwxyz”
  private static final char[] ArrayLetters = new char[] {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
 
  public static void main(String[] args) {
    tesCharArrayReader() ;
  }
 
  /**
   * CharArrayReader的API測試函數
   */
  private static void tesCharArrayReader() {
    try {
      // 創建CharArrayReader字符流,內容是ArrayLetters數組
      CharArrayReader car = new CharArrayReader(ArrayLetters);
 
      // 從字符數組流中讀取5個字符
      for (int i=0; i<LEN; i++) {
        // 若能繼續讀取下一個字符,則讀取下一個字符
        if (car.ready() == true) {
          // 讀取“字符流的下一個字符”
          char tmp = (char)car.read();
          System.out.printf("%d : %c\n", i, tmp);
        }
      }
 
      // 若“該字符流”不支持標記功能,則直接退出
      if (!car.markSupported()) {
        System.out.println("make not supported!");
        return ;
      }
 
      // 標記“字符流中下一個被讀取的位置”。即--標記“f”,因為因為前面已經讀取了5個字符,所以下一個被讀取的位置是第6個字符”
      // (01), CharArrayReader類的mark(0)函數中的“參數0”是沒有實際意義的。
      // (02), mark()與reset()是配套的,reset()會將“字符流中下一個被讀取的位置”重置為“mark()中所保存的位置”
      car.mark(0);
 
      // 跳過5個字符。跳過5個字符后,字符流中下一個被讀取的值應該是“k”。
      car.skip(5);
 
      // 從字符流中讀取5個數據。即讀取“klmno”
      char[] buf = new char[LEN];
      car.read(buf, 0, LEN);
      System.out.printf("buf=%s\n", String.valueOf(buf));
 
      // 重置“字符流”:即,將“字符流中下一個被讀取的位置”重置到“mark()所標記的位置”,即f。
      car.reset();
      // 從“重置后的字符流”中讀取5個字符到buf中。即讀取“fghij”
      car.read(buf, 0, LEN);
      System.out.printf("buf=%s\n", String.valueOf(buf));
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

運行結果:

?
1
2
3
4
5
6
7
0 : a
1 : b
2 : c
3 : d
4 : e
buf=klmno
buf=fghij

CharArrayWriter
CharArrayReader 用于寫入數據符,它繼承于Writer。操作的數據是以字符為單位!
CharArrayWriter 函數列表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CharArrayWriter()
CharArrayWriter(int initialSize)
 
CharArrayWriter   append(CharSequence csq, int start, int end)
CharArrayWriter   append(char c)
CharArrayWriter   append(CharSequence csq)
void   close()
void   flush()
void   reset()
int   size()
char[]   toCharArray()
String   toString()
void   write(char[] buffer, int offset, int len)
void   write(int oneChar)
void   write(String str, int offset, int count)
void   writeTo(Writer out)

示例代碼:
關于CharArrayWriter中API的詳細用法,參考示例代碼(CharArrayWriterTest.java):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import java.io.CharArrayReader;
import java.io.CharArrayWriter;
import java.io.IOException;
 
public class CharArrayWriterTest {
 
  private static final int LEN = 5;
  // 對應英文字母“abcdefghijklmnopqrstuvwxyz”
  private static final char[] ArrayLetters = new char[] {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
 
  public static void main(String[] args) {
 
    tesCharArrayWriter() ;
  }
 
  /**
   * CharArrayWriter的API測試函數
   */
  private static void tesCharArrayWriter() {
    try {
      // 創建CharArrayWriter字符流
      CharArrayWriter caw = new CharArrayWriter();
 
      // 寫入“A”個字符
      caw.write('A');
      // 寫入字符串“BC”個字符
      caw.write("BC");
      //System.out.printf("caw=%s\n", caw);
      // 將ArrayLetters數組中從“3”開始的后5個字符(defgh)寫入到caw中。
      caw.write(ArrayLetters, 3, 5);
      //System.out.printf("caw=%s\n", caw);
 
      // (01) 寫入字符0
      // (02) 然后接著寫入“123456789”
      // (03) 再接著寫入ArrayLetters中第8-12個字符(ijkl)
      caw.append('0').append("123456789").append(String.valueOf(ArrayLetters), 8, 12);
 
      System.out.printf("caw=%s\n", caw);
 
      // 計算長度
      int size = caw.size();
      System.out.printf("size=%s\n", size);
 
      // 轉換成byte[]數組
      char[] buf = caw.toCharArray();
      System.out.printf("buf=%s\n", String.valueOf(buf));
 
      // 將caw寫入到另一個輸出流中
      CharArrayWriter caw2 = new CharArrayWriter();
      caw.writeTo(caw2);
      System.out.printf("caw2=%s\n", caw2);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

運行結果:

?
1
2
3
4
caw=ABCdefgh0123456789ijkl
size=22
buf=ABCdefgh0123456789ijkl
caw2=ABCdefgh0123456789ijkl

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本一区二区免费播放 | 一区二区三区在线播放 | 久久精品这里有 | 欧美日韩亚洲系列 | 亚色网站| 亚洲综合av一区 | 伊人网在线观看 | 中文字幕乱码视频32 | 久久久精品 | 日韩免费av一区二区 | 婷婷久久综合九色综合绿巨人 | 谁有毛片网站 | 日韩国产欧美视频 | 欧美日韩国产一区二区三区 | 国产成人久久精品一区二区三区 | 日韩欧美一区二区三区 | 国产精品亚洲视频 | 99精品视频免费 | 少妇色欲网 | 在线免费观看激情视频 | 国产精品视频播放 | 国产一区中文字幕 | 国内精品一区二区 | 黄色精品一区二区 | 天堂精品久久 | 在线中文字幕av | 亚洲精品久久久久久久久久久久久 | 成人免费毛片aaaaaa片 | 亚洲午夜电影 | 日韩福利电影 | 国产一区二区三区欧美 | 精品国产黄a∨片高清在线 成人欧美 | 日韩一级电影在线 | 91黄视频| 久久午夜精品 | 不卡的一区二区 | 免费无遮挡www小视频 | 欧美一区二区三区男人的天堂 | 国产一区中文字幕 | 精品国产91亚洲一区二区三区www | 欧美成人性生活 |