String.getBytes()和String.tocharArray(),字節數組和字符數組的區別
String.getBytes()是將字符串轉化為一個字節數組。而String.toCharArray()是將一個字符串轉化為一個字符數組。
【例如】
byte bys[] =“國慶60周年”.getBytes();
char chs[]=“國慶60周年”.toCharArray();
【那么字節數組和字符數組有什么區別呢?】
字節輸入流和輸出流的read和write方法使用字節數組讀寫數據,即以字節為基本單文處理數據。因此,字節流不能很好地操作Unicode字符,例如,一個漢字在文件中占用2個字節,如果使用字節流,讀取不當會導致“亂碼”的現象。字節類 FileInputStream 和FileOutputStream都是io下的類,而字符輸出流 FileReader和字符輸入流FileWriter都是Reader和Writer的子類。
當用構造方法創建指向一個文件的輸出流是,如果參數append取值為true,輸出流不會刷新所指向的文件(假如文件已存在),輸出流的wirite的方法將從文件的末尾開始向文件寫入數據,參數append取值false,輸出流將刷新所指向的文件(假如文件已經存在)。append具有刷新功能; 對于Writer流,write方法將數據首先寫入到緩沖區,每當緩沖區溢出時,緩沖區的內容被自動寫入到目的地,如果關閉流,緩沖區的內容會立刻被寫入到目的地。流調用flush()(不是flash)可以立刻沖洗當前緩沖區,即將當前緩沖區的內容寫入到目的地。
標簽:字符,JAVA,字節,寫入,數組,緩沖區,String
來源: https://blog.csdn.net/m0_46341271/article/details/111422997