java文本复制 java实现文本复制功能
老聂呀 人气:0*字符流(读,写)
*缓冲字符流(读,写)
文本复制功能:
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,找到需要复制的文本路径,创建字符流读取对象 * 2,将字符流读取对象放入缓冲字符流中,为了方便一行一行读取 * 3,找到需要复制到的文本路径,创建写入字符流, * 4,将写入字符流放在缓冲字符流中,为了方便可以进行字符串的直接写入 * 5,使用while循环进行对象的读取,每循环一次读一行,将读取的内容存放在定义好的字符串类型中,因为使用 * 缓冲字符流读取的内容返回的是字符串类型,当返回值为null时,读取完毕 * 6,在循环中将读取的内容使用写入缓冲字符流进行写入到缓冲字符流中,每写一次,就使用flush()刷新一次 * 7,最后将所有流关闭 * @throws IOException */ public static void copyMethod() throws IOException { Reader rd=new FileReader("E:/coyp.txt");//创建一个字符流读取对象 BufferedReader br=new BufferedReader(rd);//创建一个缓冲字符流读取对象,参数传将要缓冲的字符流对象 Writer wt=new FileWriter("E:/coyp01.txt");//创建一个字符流写入对象 BufferedWriter bw=new BufferedWriter(wt);//创建一个缓冲字符流写入对象 String str=null;//按行读取,str存放读取的内容 while((str=br.readLine())!=null) {//使用while循环每次读取一行,将每次读取的内容存放在str中 bw.write(str);//使用缓冲字符流写入内容,可以写字符串,将每次读取的内容写入BufferedWriter缓冲字符流中 bw.flush();//每次进行刷新一次 } //关闭流 bw.close(); wt.close(); br.close(); rd.close(); } }
以上就是本文的全部内容,小编再为大家分享两段代码:Java实现简单文本文件复制
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 { // 创建文件输入输出流 reader = new FileReader("F:\\电子文档\\各种JDBC连接.txt"); writer = new FileWriter("F:\\test.txt"); int flag = 0; // 从输入流读取内容使用输出流输出 while ((flag = reader.read()) != -1) { writer.write(flag); } System.out.println("复制文本成功"); } catch (Exception e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); // 关闭文件输入流 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (writer != null) { try { writer.close(); // 关闭文件输出流 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
用java实现文件的复制功能:
通过选择合适的下列流进行文件的复制
a)字符流(FileWriter FileReader)
b)字节流(FileInputStream,FileOutputStream)
如下需求,选择合适的流完成操作:
文件复制的逻辑:循环的读取旧文件的数据,循环的写出到新文件里。
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)字节流(FileInputStream,FileOutputStream) 如下需求,选择合适的流完成操作: 文件复制的逻辑:循环的读取旧文件的数据,循环的写出到新文件里。 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(); } } } } }
加载全部内容