真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java字符流代碼大全 java 流 編碼

Java常用的字符流類有哪些?

字符流:

成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設、網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務射陽,10年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108

以Reader和Writer結尾的都是字符流,每次處理兩個Unicode字節(jié),Reader是輸入流,Writer是輸出流。常見的有FileReader,F(xiàn)ileWriter;BufferReader,BufferWriter等,查看jdkapi文檔就知道了。

字節(jié)流:

以OutputStream和InputStream結尾的流都是字節(jié)流,每次只能處理一個字節(jié),在使用時常常在字節(jié)流上套上字符流或緩沖流或轉換流等來方便對數(shù)據(jù)的處理。

看看這小段java字符流代碼(高手來吧)

首先,學習字符流這個知識的時候,你要明確一點:reader()這個方法是一個阻塞式的方法,關于阻塞式的方法這里就不詳細介紹了、所以當循環(huán)開始的時候,int c 從文件中拿是一個一個字節(jié)的拿,

其次,你要搞清楚字節(jié)與字符的含義:在ASCII碼中,一個英文字母(不分大小寫)占一個字節(jié)的空間,一個中文漢字占兩個字節(jié)的空間,

你可能受到了FileReader、FileInputStream之間傳輸?shù)淖止?jié)數(shù)不同的影響。

理論上是那樣的,但是在計算機中的存儲結構還是要考慮實際的編碼的因素;

希望對你有幫助哦,,

祝你好運

Java中有幾種類型的流?

FileInputSream類

FileInputStream(String name)

FileInputStream(File file)

第一個構造方法是用給定的文件名name創(chuàng)建一個FileInputStream對象

第二個方法使用File對象創(chuàng)建FileInputStream對象

使用文件輸入流讀取文件

例如

FileInputStream istream=new FileInputStream(“myfile.dat”);

File f=new File(“myfile.dat”);

FileInputStream istream =new FileInputStream(f);

處理IO異常

Try{

FileInputStream istream=new FileInputStream(“myfile.dat”);

}

Catch(IOException e){}

從輸入流中讀取字節(jié)

Int read();從輸入流中順序讀取源中的單個字節(jié)數(shù)據(jù),返回字節(jié)值(0~255之間的一個整數(shù)),如果到達源的末尾,則返回-1

Read方法還可以吧多個字節(jié)讀入到字節(jié)數(shù)組中:

Int read(byte b[]);

Int read(byte b[],int off,int len);

關閉流

使用close();

FileOutputStream類

該類提供了基本的文件寫入能力,除了從OutputStream類繼承來的方法外,F(xiàn)ileOutputStream類還提供了兩個構造方法:

FileOutputStream(String name)

FileOutputStream(File file)

第一個構造方法,給指定的文件名name創(chuàng)建一個FileOutputStreak對象

第二個構造方法,使用File對象創(chuàng)建FileOutputStream對象

可以使用write()方法把字節(jié)寫入到輸出流到達目的地

Write的格式:

Public void write(byte b[]) 其功能就是把b.length個字節(jié)到輸出流

Public void write(byte b[],int off,int len)給定字節(jié)數(shù)組中,偏移off處寫入len個字節(jié)到輸出流

FileOutputStream流順序的寫文件,只要不關閉流,每次調用write方法就順序地向輸出流寫入內容,直到流被關閉。

以上代碼見hyh.io--File/Fileinputstream/Fileoutputsream

以上輸入輸出流容易出現(xiàn)的問題就是:漢字亂碼

FileReader類和FileWriter類

與FileInputStream和FileOutputStream字節(jié)流相對應的是FileReader和FileWriter字符流,其分別是Reader和Writer的子類,構造方法如下:

FileReader(String filename)

FileWriter(String filename)

使用字節(jié)讀取文件時,字節(jié)流不能直接操作Unicode字符,所以Java提供字符流。由于漢字在文件中占用了兩個字節(jié),如果使用字節(jié)流,讀取不當會出現(xiàn)亂碼現(xiàn)象,采用字符流就可以避免這個現(xiàn)象,因為在Unicode字符中,一個漢字被看做一個字符。

如果需要每次讀取一行數(shù)據(jù),F(xiàn)ileReader類沒有提供這樣的方法,所以必須把這個流再接到另外一個流傷,從后面的流中讀取一行數(shù)據(jù)。Java為其命名為BufferedReader類,構造方法:

BufferedReader(Reader in)

BufferedReader流能夠讀取文本行,方法是readLine()

通過向BufferedReader傳遞一個Reader對象,來創(chuàng)建一個BufferedReader對象,

FileReader inone=new FileReader(“Student.txt”);

BufferedReader intwo=BufferedReader(inone);

類似的可以將BufferedWriter流和FileWriter流連接在一起,然后使用BufferedWriter流將數(shù)據(jù)寫到目的地,

FileWriter tofile=new FileWriter(”hello.txt”);

BufferedWriter out=BufferedWriter(tofile)

然后out使用BufferedReader類的方法:

Write(String s,int off,int len)把字符串s寫入到文件中,off是s開始處的偏移量,len是寫入的字符數(shù)量

代碼詳情見hyh.javaio.FileReaderandWriter

代碼總結:FileReader和FileWriter可以進行漢字的讀取和寫入

BufferedReader有讀取行的功能,readLine()

RandomAccessFile類

RandomAccessFile類創(chuàng)建的流指向既可以作為源也可以作為目的地。換句話說,當想對一個文件進行讀寫操作時,可以創(chuàng)建一個指向該文件的RandomAccessFile流

構造方法:

RandomAccessFile(String name,String mode)參數(shù)name用來確定一個文件名,給出流的源。參數(shù)mode取r或者rw(只讀或者讀寫),決定對文件的訪問權限。

RandomAccessFile(File file,String mode)參數(shù)file是一個File對象,給出源,同時也是目的地。參數(shù)mode決定訪問權限。

該類中有一個seek(long a)方法,用來定位RandomAccessFile流的讀寫位置。參數(shù)a確定讀寫位置距離文件開頭的字節(jié)個數(shù)。

還可以調用getFilePointer()方法或者流當前的讀寫位置

類方法P280:

關閉文件

獲取讀寫位置等。。。。。。。。

使用RandomAccessFile流實現(xiàn)一個通訊錄的錄入與顯示系統(tǒng)

見RandomAccessFile

數(shù)據(jù)流P284

數(shù)組流P286

對象流P288

序列化與對象克隆P290

文件鎖FileLockP293

Process類中的流P295

帶進度條的輸入流P298(這個是我自己整理的一部分的學習筆記,教材為Java2實用教程第三版(耿祥義編著),因為使用了word進行整理,首字母大寫忘記取消和一些代碼在myeclipse上,但是不妨礙你查看)

java中如何實現(xiàn)字符流的寫入寫出?

import?java.io.File;

import?java.io.FileInputStream;

import?java.io.FileNotFoundException;

import?java.io.FileOutputStream;

import?java.io.IOException;

import?java.io.InputStreamReader;

import?java.io.OutputStreamWriter;

public?class?InputStreamReaderTest

{

public?static?void?main(String[]?args)

{

try

{

File?file=new?File("F:\\io\\abc.txt");

FileOutputStream?fos=new?FileOutputStream(file);

OutputStreamWriter?osw=new?OutputStreamWriter(fos);

osw.write('大');

osw.write('家');

osw.write('好');

osw.close();

FileInputStream?fis=new?FileInputStream(file);

InputStreamReader?isr=new?InputStreamReader(fis);

System.out.println((char)isr.read());

System.out.println((char)isr.read());

System.out.println((char)isr.read());

isr.close();

}

catch?(FileNotFoundException?e)

{

System.out.println("操作的文件不存在");

}

catch(IOException?e)

{

System.out.println("發(fā)生IO操作異常");

}

}

}


本文題目:java字符流代碼大全 java 流 編碼
新聞來源:http://weahome.cn/article/hgoidg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部