java實(shí)現(xiàn)文本復(fù)制功能
本文實(shí)例為大家分享了java實(shí)現(xiàn)文本復(fù)制的具體代碼,供大家參考,具體內(nèi)容如下
*字符流(讀,寫)
*緩沖字符流(讀,寫)
文本復(fù)制功能:
package cn.yunhe.io; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.Reader;import java.io.Writer; public class FileCopy { public static void main(String[] args) throws IOException { copyMethod(); } /** * 文本復(fù)制功能 * 1,找到需要復(fù)制的文本路徑,創(chuàng)建字符流讀取對(duì)象 * 2,將字符流讀取對(duì)象放入緩沖字符流中,為了方便一行一行讀取 * 3,找到需要復(fù)制到的文本路徑,創(chuàng)建寫入字符流, * 4,將寫入字符流放在緩沖字符流中,為了方便可以進(jìn)行字符串的直接寫入 * 5,使用while循環(huán)進(jìn)行對(duì)象的讀取,每循環(huán)一次讀一行,將讀取的內(nèi)容存放在定義好的字符串類型中,因?yàn)槭褂?* 緩沖字符流讀取的內(nèi)容返回的是字符串類型,當(dāng)返回值為null時(shí),讀取完畢 * 6,在循環(huán)中將讀取的內(nèi)容使用寫入緩沖字符流進(jìn)行寫入到緩沖字符流中,每寫一次,就使用flush()刷新一次 * 7,最后將所有流關(guān)閉 * @throws IOException */ public static void copyMethod() throws IOException { Reader rd=new FileReader('E:/coyp.txt');//創(chuàng)建一個(gè)字符流讀取對(duì)象 BufferedReader br=new BufferedReader(rd);//創(chuàng)建一個(gè)緩沖字符流讀取對(duì)象,參數(shù)傳將要緩沖的字符流對(duì)象 Writer wt=new FileWriter('E:/coyp01.txt');//創(chuàng)建一個(gè)字符流寫入對(duì)象 BufferedWriter bw=new BufferedWriter(wt);//創(chuàng)建一個(gè)緩沖字符流寫入對(duì)象 String str=null;//按行讀取,str存放讀取的內(nèi)容 while((str=br.readLine())!=null) {//使用while循環(huán)每次讀取一行,將每次讀取的內(nèi)容存放在str中 bw.write(str);//使用緩沖字符流寫入內(nèi)容,可以寫字符串,將每次讀取的內(nèi)容寫入BufferedWriter緩沖字符流中 bw.flush();//每次進(jìn)行刷新一次 } //關(guān)閉流 bw.close(); wt.close(); br.close(); rd.close(); }}
以上就是本文的全部?jī)?nèi)容,小編再為大家分享兩段代碼:Java實(shí)現(xiàn)簡(jiǎn)單文本文件復(fù)制
import java.io.FileReader;import java.io.FileWriter;import java.io.IOException; public class TextFileCopy { public static void main(String[] args) { FileReader reader = null; FileWriter writer = null; try { // 創(chuàng)建文件輸入輸出流 reader = new FileReader('F:電子文檔各種JDBC連接.txt'); writer = new FileWriter('F:test.txt'); int flag = 0; // 從輸入流讀取內(nèi)容使用輸出流輸出 while ((flag = reader.read()) != -1) { writer.write(flag); } System.out.println('復(fù)制文本成功'); } catch (Exception e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); // 關(guān)閉文件輸入流 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (writer != null) { try { writer.close(); // 關(guān)閉文件輸出流 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }}
用java實(shí)現(xiàn)文件的復(fù)制功能:
通過選擇合適的下列流進(jìn)行文件的復(fù)制 a)字符流(FileWriter FileReader) b)字節(jié)流(FileInputStream,FileOutputStream)如下需求,選擇合適的流完成操作:文件復(fù)制的邏輯:循環(huán)的讀取舊文件的數(shù)據(jù),循環(huán)的寫出到新文件里。 1)圖片的復(fù)制,把用戶輸入的路徑代表的圖片復(fù)制到同目錄,文件名改為原文件名加_new。例如:test1.png--》new_test1.png
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException; /**通過選擇合適的下列流進(jìn)行文件的復(fù)制 a)字符流(FileWriter FileReader) b)字節(jié)流(FileInputStream,FileOutputStream)如下需求,選擇合適的流完成操作:文件復(fù)制的邏輯:循環(huán)的讀取舊文件的數(shù)據(jù),循環(huán)的寫出到新文件里。 1)圖片的復(fù)制,把用戶輸入的路徑代表的圖片復(fù)制到同目錄,文件名改為原文件名加_new。例如:test1.png--》new_test1.png * * */public class Test2 { public static void main(String[] args) { copfile(); } public static void copfile(){ File filein=new File('srcday17test1.png'); File fileout=new File('srcday17new_test1.png'); byte[] buffer=new byte[1024]; int temp=0; FileInputStream fis=null; FileOutputStream fos=null; try { fis=new FileInputStream(filein); fos=new FileOutputStream(fileout); while((temp=fis.read(buffer))!=-1){ fos.write(buffer, 0, temp); } fos.flush(); System.out.println('copy完成!!!'); } catch (FileNotFoundException e) { e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); }finally{ if(fos!=null){ try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } if(fis!=null){ try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } } }}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. .Net Core和RabbitMQ限制循環(huán)消費(fèi)的方法2. jsp網(wǎng)頁實(shí)現(xiàn)貪吃蛇小游戲3. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明4. ASP.NET MVC遍歷驗(yàn)證ModelState的錯(cuò)誤信息5. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)6. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向7. asp中response.write("中文")或者js中文亂碼問題8. PHP設(shè)計(jì)模式中工廠模式深入詳解9. CSS hack用法案例詳解10. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法
