色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

java的字符流分析

科技綠洲 ? 來源:Java技術指北 ? 作者:Java技術指北 ? 2023-10-10 15:38 ? 次閱讀

上次聊到了 java字符流 Reader,今天來看看它的好朋友 Writer 字符流。

Writer

java 中的 IO 輸出流不是只有 OutputStream 還有按字符輸出的 Writer。

OutputStreamWriter
字節流,以 byte 為單位字符流,以 char 為單位
輸出字節(0~255):void write(int b)輸出字符(0~65535):void write(int c)
輸出字節數組:void write(byte[] b)輸出字符數組:void write(char[] c)

和 OutputStream 一樣,Writer 也是所有字符輸出流的超類。主要的方法是:public void write(char cbuf[]) throws IOException, write() 方法將 cbuf 參數全部輸出,write(String str) 和 write(int c) 兩個方法最終調用的還是 write(char cbuf[])

FileWriter

FileWriter 就是向文件中寫入字符流的 Writer。new FileWriter(fileName) 構造函數是將文件從頭開始寫入并不是在文件結尾處繼續寫入。new FileWriter(fileName, true) 則是在文件結尾處寫入。

private void fileWriteDemo() throws IOException {
    Writer writer = new FileWriter("D:writer.txt");
    writer.write("測試寫入".toCharArray());
    writer.close();
}

Writer 實現了 Closeable 接口,可以用 try(Writer writer = new FileWriter("D:writer.txt")) {} 的方式關閉掉資源。

OutputStreamWriter

OutputStreamWriter 將輸出的字符流轉換為字節流。可以使用指定的編碼字符集。new OutputStreamWriter(OutputStream out, Charset cs) 。

private void outputStreamWriteDemo() throws IOException {
    // 亂碼
    try(OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("D:writer.txt"), "gb2312")) {
        writer.write("杺");
        writer.write(66);
    }

    // 正常
    try(OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("D:writer.txt", true), "gbk")) {
        writer.write("杺");
        writer.write(66);
    }

}

StringWriter 和 CharArrayWriter

StringWriter 內部有一個 StringBuffer 對象作為其緩沖區。可以利用其緩沖區中的內容來構造字符串。

private void stringWriteDemo() throws IOException {
    String str = "寫入測試";
    try(StringWriter writer = new StringWriter()) {
        writer.write(str);
        writer.write(str);
        System.out.println(writer.getBuffer().toString());
    }

}

CharArrayWriter 和 StringWriter 幾乎一樣,也是在內存中構造一個字符串緩沖區。不過底層不是一個 StringBuffer 了,是 char 的數組,默認 32 個長度。

BufferedWriter

BufferedWriter 是一個緩沖的字符輸出流,為其他 Writer 提供緩沖的功能。

private void bufferedWriteDemo() throws IOException {
    FileWriter fileWriter = new FileWriter("D:writer.txt", true);
    try(BufferedWriter writer = new BufferedWriter(fileWriter)) {
        writer.write(65);
        writer.write(66);
    }
    fileWriter.close();

}

總結

介紹了幾種常用 Writer 輸出流的使用方式。FileWriter 用于寫入文件,BufferedWriter 自帶緩沖區,StringWriter 和 CharArrayWriter 基于內存,OutputStreamWriter 將字符流轉為字節流。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8575

    瀏覽量

    151023
  • JAVA
    +關注

    關注

    19

    文章

    2966

    瀏覽量

    104702
  • 參數
    +關注

    關注

    11

    文章

    1829

    瀏覽量

    32195
  • 字符
    +關注

    關注

    0

    文章

    233

    瀏覽量

    25199
  • Writer
    +關注

    關注

    0

    文章

    8

    瀏覽量

    7313
收藏 人收藏

    評論

    相關推薦

    Java程序設計:7.5.1 字符緩沖#Java

    JAVA字符
    學習硬聲知識
    發布于 :2022年11月16日 15:58:08

    Java程序設計:7.5.2 字符緩沖舉例#Java

    JAVA字符
    學習硬聲知識
    發布于 :2022年11月16日 15:58:36

    Java中的輸入輸出盤點

    Java中的分為兩種,一種是字節流,另一種是字符,分別由四個抽象類來表示(每種包括輸入和輸出兩種所以一共四個):InputStream
    發表于 07-11 07:56

    基于數據Java字節碼分析

    本文基于數據框架理論,提出了如何將數據分析方法應用于JAVA 字節碼中,通過建立數據與半格、數據
    發表于 12-25 13:22 ?9次下載

    java與文件實驗

    實驗10 與文件一、實驗目的 1. 理解數據的概念2. 理解Java的層次結構3. 理解文件的概念二、實驗要求 1. 掌握字節流
    發表于 09-23 19:04 ?1915次閱讀

    實例解析Java字符串內存管理方法

    應用服務器運行過程中,約40%的活躍堆空間被用來保存字符串數據[2]。 通過對Java字符串操作接口的分析可以發現,隨著這些操作的運行會產生較多的無用
    發表于 10-27 10:20 ?1次下載
    實例解析<b class='flag-5'>Java</b><b class='flag-5'>字符</b>串內存管理方法

    Java中一種字符串的內存管理方法

    應用服務器運行過程中,約40%的活躍堆空間被用來保存字符串數據[2]。 通過對Java字符串操作接口的分析可以發現,隨著這些操作的運行會產生較多的無用
    發表于 11-30 17:39 ?585次閱讀
     <b class='flag-5'>Java</b>中一種<b class='flag-5'>字符</b>串的內存管理方法

    理解Java字符與字節流的區別

    JDK稱為Java開發包或Java開發工具,是一個編寫Java的Applet小程序和應用程序的程序開發環境。JDK是整個Java的核心,包括了Jav
    發表于 12-04 10:39 ?1118次閱讀
    理解<b class='flag-5'>Java</b>中<b class='flag-5'>字符</b><b class='flag-5'>流</b>與字節流的區別

    Java 字節流 字符 轉換流

    Java運行系統使用字節碼驗證過程來保證裝載到網絡上的代碼不違背任何Java語言限制。這個安全機制部分包括類如何從網上裝載。例如,裝載的類是放在分開的名字空間而不是局部類,預防惡意的小應用程序用它自己的版本來代替標準Java類。
    發表于 12-04 11:15 ?1438次閱讀
    <b class='flag-5'>Java</b> 字節流 <b class='flag-5'>字符</b><b class='flag-5'>流</b> 轉換流

    基礎:Java IO學習總結

    IO的分類 根據處理數據類型的不同分為:字符和字節流 根據數據流向不同分為:輸入流和輸出
    發表于 03-08 14:38 ?2069次閱讀

    字符和字節流有什么那區別

    字符流在Java中,根據處理的數據單位不同,分為字節流和字符字符是由
    發表于 12-20 17:46 ?8050次閱讀
    <b class='flag-5'>字符</b><b class='flag-5'>流</b>和字節流有什么那區別

    Java反射機制清空字符串導致業務異常分析

    JVM為了提高性能和減少內存開銷,在實例化字符串常量時進行了優化。JVM在Java堆上開辟了一個字符串常量池空間(StringTable),JVM通過ldc指令加載字符串常量時會調用
    的頭像 發表于 06-22 11:17 ?1001次閱讀

    如何利用Java判斷一個字符串是否包含某個字符

    如何利用Java通過不同的方法來判斷一個字符串是否包含某個字符。 **2 ****方法** 1. .contains方法
    的頭像 發表于 02-17 15:13 ?1487次閱讀
    如何利用<b class='flag-5'>Java</b>判斷一個<b class='flag-5'>字符</b>串是否包含某個<b class='flag-5'>字符</b>

    Java中如何判斷字符相等

    在Python中判斷字符相等與判斷數字類型時所用的方法相同都是使用”==”來進行判定,在Java中當我們調用Scanner,進行輸入字符串判定時,則會無法進行判定。
    的頭像 發表于 02-24 10:41 ?788次閱讀
    <b class='flag-5'>Java</b>中如何判斷<b class='flag-5'>字符</b>相等

    java switch case 能不能用字符

    Java的switch語句在處理字符串方面有一些限制。在Java 7之前,switch語句只能處理整數類型的表達式,如int或char。但從Java 7開始,
    的頭像 發表于 11-30 14:46 ?2054次閱讀
    主站蜘蛛池模板: 女王羞辱丨vk| 黄色网址在线免费观看| 麻婆豆腐传媒视频免费| 永久久久免费人妻精品| 久草在线草a免费线看| 真实国产乱子伦精品一区二区三区| 和老外3p爽粗大免费视频| 亚洲精品影院久久久久久| 国产亚洲中文字幕视频| 伊人久久99热这里只有精品| 久久久久国产一级毛片高清片 | 狠狠色狠狠色综合日日2019| 校花被扒衣吸乳羞羞漫画| 国产亚洲精品V在线观看一| 亚州日韩精品AV片无码中文| 九九热精品在线观看| 99久久综合国产精品免费| 上原结衣快播| 毛片无码免费无码播放| xxxx88| 亚洲色综合中文字幕在线| 日韩免费一区| 鲁大师影院在线视频在线观看| 国产午夜人成在线视频麻豆| 99精品欧美一区二区三区美图| 午夜看片福利在线观看| 琪琪的色原网站| 久久亚洲A片COM人成A| 国产成人精品视频播放| 99久久精品毛片免费播放| 亚洲精品人成电影网| 肉色无边(高h)| 欧美精品色视频| 美女脱光app| 久久热在线视频精品店| 精品国产在线手机在线| 国产毛片A级久久久不卡精品| 成 人 色综合| 成人国产在线观看| 成人a视频在线观看| 扒开黑女人p大荫蒂老女人|