日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java的知识点28——文件编码、IO流的实例

發布時間:2025/4/16 java 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java的知识点28——文件编码、IO流的实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?文件編碼? 字符 ——》字節? (編碼 encode)? ? ? ? ? ?字節 ——》 字符(解碼 decode


節點流? 處理流

package cn.dym;import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream;/*** 1.創建流* 2.選擇流* 3.操作* 4.釋放資源* @author Administrator**/ public class IOTest01 {public static void main(String[] args) {//1.創建源File src=new File("abc.txt");//2.選擇流try {InputStream is=new FileInputStream(src);//3.操作(讀取)int data1=is.read(); //第一個數據 hint data2=is.read(); //第二個數據 eint data3=is.read(); //第三個數據 lint data4=is.read(); //第四個數據 //不是數據,文件末尾返回-1System.out.println((char)data1);System.out.println((char)data2);System.out.println((char)data3);System.out.println(data4);//4.釋放資源is.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} }

上面的寫法不好,標準的寫法如下:

package cn.dym; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; /*** 標準的寫法* 1.創建流* 2.選擇流* 3.操作* 4.釋放資源* @author Administrator**/ public class IOTest02 {public static void main(String[] args) {//1.創建源File src=new File("abc.txt");//2.選擇流InputStream is=null;try {is=new FileInputStream(src);//3.操作(讀取)int temp;while((temp=is.read())!=-1) {System.out.print((char)temp);}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {//4.釋放資源try {if(null!=is) {is.close();} } catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}} }


?

分段讀取

package cn.dym; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; /*** 分段讀取* 1.創建流* 2.選擇流* 3.操作* 4.釋放資源* @author Administrator**/ public class IOTest03 {public static void main(String[] args) {//1.創建源File src=new File("abc.txt");//2.選擇流InputStream is=null;try {is=new FileInputStream(src);//3.操作(分段讀取)byte[] flush=new byte[1024]; //緩沖容器int len=-1;while((len=is.read(flush))!=-1) {// 字節數組 ————》 字符串 (解碼)String str=new String(flush,0,len);System.out.println(str);}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {//4.釋放資源try {if(null!=is) {is.close();} } catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}} }


字節輸出流 —— 文件字節輸出流

package cn.dym;import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream;/*** 文件字節輸出流* 1.創建源* 2.選擇流* 3.操作(寫出內容)* 4.釋放資源* @author Administrator**/ public class IOTest04 {public static void main(String [] args) { // 1.創建源File dest=new File("dest.txt"); // 2.選擇流OutputStream os=null;try{//os=new FileOutputStream(dest,true); //直接在文件中追加//os=new FileOutputStream(dest,false); // 先刪除文件原來的內容,在把新的內容寫進文件中os=new FileOutputStream(dest,true);// 3.操作(寫出內容)String msg="IO is so easy\r\n";byte[] datas=msg.getBytes(); // 字符串——》字節數組(編碼)os.write(datas, 0, datas.length); os.flush();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {//4.釋放資源if(null!=os) {try {os.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}} } }


文件的拷貝

package cn.dym; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; /*** 文件拷貝:文件字節輸入、輸出流*/ public class Copy {public static void main(String[] args) {copy("D:/java/workspace/IO_study02/src/cn/dym/Copy.java","copy.txt");}/*** 文件的拷貝 * @param srcPath* @param destPath*/public static void copy(String srcPath,String destPath) {//1、創建源File src = new File(srcPath); //源頭File dest = new File(destPath);//目的地//2、選擇流InputStream is =null;OutputStream os =null;try {is =new FileInputStream(src);os = new FileOutputStream(dest); //3、操作 (分段讀取)byte[] flush = new byte[1024]; //緩沖容器int len = -1; //接收長度while((len=is.read(flush))!=-1) {os.write(flush,0,len); //分段寫出} os.flush();}catch(FileNotFoundException e) { e.printStackTrace();}catch (IOException e) {e.printStackTrace();}finally{//4、釋放資源 分別關閉 先打開的后關閉try {if (null != os) {os.close();} } catch (IOException e) {e.printStackTrace();}try {if(null!=is) {is.close();}} catch (IOException e) {e.printStackTrace();}}} }

總結

以上是生活随笔為你收集整理的Java的知识点28——文件编码、IO流的实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。