這篇文章主要介紹Java中輸入/輸出流體系的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)專注于孟連企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),成都商城網(wǎng)站開發(fā)。孟連網(wǎng)站建設(shè)公司,為孟連等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)Java輸入/輸出流體系
1.字節(jié)流和字符流
字節(jié)流:按字節(jié)讀取。字符流:按字符讀取。
字符流讀取方便,字節(jié)流功能強(qiáng)大,當(dāng)不能用字符流時(shí),可以用字節(jié)流。
字節(jié)流基類:InputStream、OutputStream
InputStream方法:
OutputStream方法:
字符流基類:Reader、Writer
Reader方法:
Writer方法:
2.輸入輸出流體系
3.轉(zhuǎn)換流
InputStreamReader:字節(jié)輸入流->字符輸入流的轉(zhuǎn)換
OutputStreamWriter:字節(jié)輸出流->字符輸出流的轉(zhuǎn)換
例如:字節(jié)輸入流->字符輸入流的轉(zhuǎn)換
字節(jié)流使用不方便,而普通的Reader讀取也不太方便,轉(zhuǎn)換成BufferReader,利用BufferReader的readLine(),一次讀取一行。
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String result = ""; String line = ""; while((line = reader.readLine())!= null){ result = result+ line; } System.out.println(result);
InputStream to String:
private static String changeInputeStream(InputStream inputStream,String encode) { //通常叫做內(nèi)存流,寫在內(nèi)存中的 ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); byte[] data = new byte[1024]; int len = 0; String result = ""; if(inputStream != null){ try { while((len = inputStream.read(data))!=-1){ outputStream.write(data, 0, len); } //result是在服務(wù)器端設(shè)置的doPost函數(shù)中的 result = new String(outputStream.toByteArray(),encode); outputStream.flush(); outputStream.close(); inputStream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return result; }
InputStream->StringBuffer:
StringBuffer buffer = new StringBuffer(); InputStreamReader reader =new InputStreamReader(request.getInputStream(),"utf-8"); char[] requestchar = new char[5]; if(reader != null){ System.out.println("默認(rèn)編碼:"+reader.getEncoding());//默認(rèn)編碼:UTF8 } //buffer reader.readLine() while((temp = reader.read(requestchar))!=-1){ buffer.append(requestchar, 0, temp); System.out.println(buffer.toString()); } String result = buffer.toString();
4.文件讀寫:
class Kaoshi {public static void main(String[] args){ Scanner in=new Scanner(System.in); int score=0; //分?jǐn)?shù); StringBuffer answer=new StringBuffer();//存放用戶答案,動態(tài)字符串; String result="ACDD"; //正確答案; try{ FileReader file=new FileReader("Test.txt"); //打開文件; BufferedReader intw=new BufferedReader(file); //緩沖流,按行讀; String s=null; while((s=intw.readLine())!=null){ //判斷不為空; if(!s.startsWith("*")){ System.out.println(s); } else{ System.out.println("請輸入正確答案:"); String str=in.next(); char c= str.charAt(0);//收集答案; answer.append(c); } } }catch(IOException e){ e.printStackTrace(); } for(int i=0;i以上是“Java中輸入/輸出流體系的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享標(biāo)題:Java中輸入/輸出流體系的示例分析-創(chuàng)新互聯(lián)
文章URL:http://weahome.cn/article/jsejd.html