java實現(xiàn)文本復制功能
本文實例為大家分享了java實現(xiàn)文本復制的具體代碼,供大家參考,具體內(nèi)容如下
*字符流(讀,寫)
*緩沖字符流(讀,寫)
文本復制功能:
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();
}
/**
* 文本復制功能
* 1,找到需要復制的文本路徑,創(chuàng)建字符流讀取對象
* 2,將字符流讀取對象放入緩沖字符流中,為了方便一行一行讀取
* 3,找到需要復制到的文本路徑,創(chuàng)建寫入字符流,
* 4,將寫入字符流放在緩沖字符流中,為了方便可以進行字符串的直接寫入
* 5,使用while循環(huán)進行對象的讀取,每循環(huán)一次讀一行,將讀取的內(nèi)容存放在定義好的字符串類型中,因為使用
* 緩沖字符流讀取的內(nèi)容返回的是字符串類型,當返回值為null時,讀取完畢
* 6,在循環(huán)中將讀取的內(nèi)容使用寫入緩沖字符流進行寫入到緩沖字符流中,每寫一次,就使用flush()刷新一次
* 7,最后將所有流關(guān)閉
* @throws IOException
*/
public static void copyMethod() throws IOException {
Reader rd=new FileReader("E:/coyp.txt");//創(chuàng)建一個字符流讀取對象
BufferedReader br=new BufferedReader(rd);//創(chuàng)建一個緩沖字符流讀取對象,參數(shù)傳將要緩沖的字符流對象
Writer wt=new FileWriter("E:/coyp01.txt");//創(chuàng)建一個字符流寫入對象
BufferedWriter bw=new BufferedWriter(wt);//創(chuàng)建一個緩沖字符流寫入對象
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();//每次進行刷新一次
}
//關(guān)閉流
bw.close();
wt.close();
br.close();
rd.close();
}
}
以上就是本文的全部內(nèi)容,小編再為大家分享兩段代碼:Java實現(xiàn)簡單文本文件復制
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("復制文本成功");
} 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實現(xiàn)文件的復制功能:
通過選擇合適的下列流進行文件的復制
a)字符流(FileWriter FileReader)
b)字節(jié)流(FileInputStream,FileOutputStream)
如下需求,選擇合適的流完成操作:
文件復制的邏輯:循環(huán)的讀取舊文件的數(shù)據(jù),循環(huán)的寫出到新文件里。
1)圖片的復制,把用戶輸入的路徑代表的圖片復制到同目錄,文件名改為原文件名加_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;
/**通過選擇合適的下列流進行文件的復制
a)字符流(FileWriter FileReader)
b)字節(jié)流(FileInputStream,FileOutputStream)
如下需求,選擇合適的流完成操作:
文件復制的邏輯:循環(huán)的讀取舊文件的數(shù)據(jù),循環(huán)的寫出到新文件里。
1)圖片的復制,把用戶輸入的路徑代表的圖片復制到同目錄,文件名改為原文件名加_new。
例如:test1.png--》new_test1.png
*
* */
public class Test2 {
public static void main(String[] args) {
copfile();
}
public static void copfile(){
File filein=new File("src\\day17\\test1.png");
File fileout=new File("src\\day17\\new_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();
}
}
}
}
}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot整合WebService的實戰(zhàn)案例
WebService是一個SOA(面向服務的編程)的架構(gòu),它是不依賴于語言,平臺等,可以實現(xiàn)不同的語言間的相互調(diào)用,這篇文章主要給大家介紹了關(guān)于SpringBoot整合WebService的相關(guān)資料,需要的朋友可以參考下2024-07-07
SpringCloud使用Ribbon實現(xiàn)負載均衡的流程步驟
在微服務架構(gòu)中,負載均衡是一項關(guān)鍵的技術(shù),它可以確保各個服務節(jié)點間的負載分布均勻,提高整個系統(tǒng)的穩(wěn)定性和性能,Spring Cloud 中的 Ribbon 就是一種負載均衡的解決方案,本文將深入探討 Ribbon 的原理和在微服務中的應用,需要的朋友可以參考下2024-02-02
Java8如何將Array轉(zhuǎn)換為Stream的實現(xiàn)代碼
這篇文章主要介紹了Java8如何將Array轉(zhuǎn)換為Stream的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09
java 中Executor, ExecutorService 和 Executors 間的不同
這篇文章主要介紹了java 中Executor, ExecutorService 和 Executors 間的不同的相關(guān)資料,需要的朋友可以參考下2017-06-06

