一、轉換流的使用
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 ...