轉換流總結及注意點

2021-08-20 13:04:07 字數 894 閱讀 2479

一、轉換流的使用

1.將位元組流轉為字元流:

fileinputstream fis = new fileinputstream("位元組流檔案");

inputstreamreader isr = new inputstreamreader(fis);

char c = new char[1024];

int len = 0;

while((len = isr.read(c)) != -1)

isr.close();

fis.close();

2.轉碼:

fileinputstream fis = new fileinputstream("gbk格式檔案");

inputstreamreader isr = new inputstreamreader(fis,"gbk");

fileoutputstream fos = new fileoutputstream("utf-8格式檔案");

outputstreamwriter osw = new outputstreamwriter(fos,"utf-8");

char c = new char[1024];

int len = 00;

while((len = isr.read(c)) != -1)

osw.close();

isr.close();

fos.close();

fis.close();

3.注意點:

1)讀取檔案內容是,輸入流的格式必須跟輸出流順序的編碼格式一致

2)轉碼的inputstreamreader形參傳的編碼與檔案編碼格式相同

關於轉換流的一點理解

先看如下 我工程預設的字符集為utf 8,所以每個ascii字元佔1位元組,這裡我們看到,我們通過write把位元組陣列輸出到控制台的時候,並不是直接以位元組的形式出現的,這意味著不僅僅在read的時候位元組輸入流把讀取的字元decode成了位元組然後讀入位元組陣列,同樣在write的時候位元組輸出...

型別轉換注意點

低 高 byte,short,char int long float doubleint i 128 byte j byte i int k 10 int l 20 system.out.println i 128 system.out.println j 128 記憶體溢位 精度丟失問題 syst...

python各種問題及注意點總結

1引數解析的新增子命令import argparse 首先定義兩個不同的函式 def a x return x def b x return x parser argparse.argumentparser 獲得乙個主直譯器 subparser parser.add subparsers dest ...