java实现文本复制功能

 更新时间:2020年11月24日 11:15:20   作者:老聂呀  
这篇文章主要为大家详细介绍了java实现文本复制功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现文本复制的具体代码,供大家参考,具体内容如下

*字符流(读,写)

*缓冲字符流(读,写)

文本复制功能:

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();
 }
  }
 
  }
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 基于java构造方法Vevtor添加元素源码分析

    基于java构造方法Vevtor添加元素源码分析

    这篇文章主要介绍了基于java构造方法中对Vevtor添加元素的源码分析,有需要的朋友可以借鉴参考下,希望可以对大家有所帮助,祝大家早日升职加薪
    2021-09-09
  • MyBatis Plus之实现动态排序方式

    MyBatis Plus之实现动态排序方式

    这篇文章主要介绍了MyBatis Plus之实现动态排序方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Mybatis中使用万能的Map传参实现

    Mybatis中使用万能的Map传参实现

    在编程中,有可能遇到我们的实体类或者数据库中表的字段或参数过多的情况,那这时候用Map传参是比较理想的选择,本文就详细的介绍一下如何使用,感兴趣的可以了解下
    2021-07-07
  • 聊聊java中一些减少if else 的编码习惯的方法

    聊聊java中一些减少if else 的编码习惯的方法

    这篇文章主要介绍了聊聊java中一些减少if else 的编码习惯的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Java简单工厂模式定义与用法实例分析

    Java简单工厂模式定义与用法实例分析

    这篇文章主要介绍了Java简单工厂模式定义与用法,结合实例形式分析了java简单工厂模式的相关定义与使用技巧,并给出了原理类图进行总结,需要的朋友可以参考下
    2019-07-07
  • Intellij IDEA 2017.3使用Lombok及常用注解介绍

    Intellij IDEA 2017.3使用Lombok及常用注解介绍

    这篇文章主要介绍了Intellij IDEA 2017.3使用Lombok及常用注解介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 详解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)

    详解JAVAEE——SSH三大框架整合(spring+struts2+hibernate)

    这篇文章主要介绍了详解JAVAEE——SSH三大框架整合(spring+struts2+hibernate),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 使用SpringBoot进行身份验证和授权的示例详解

    使用SpringBoot进行身份验证和授权的示例详解

    在广阔的 Web 开发世界中,身份验证是每个数字领域的守护者,在本教程中,我们将了解如何以本机方式保护、验证和授权 Spring-Boot 应用程序的用户,并遵循框架的良好实践,希望对大家有所帮助
    2023-11-11
  • Java零基础教程之do-while循环语句实例

    Java零基础教程之do-while循环语句实例

    Java中的do-while循环是一种后测试循环语句,它类似于while循环,但它先执行循环体中的代码,然后再进行条件判断,无论条件是否满足,至少会执行一次循环体中的代码,这篇文章主要给大家介绍了关于Java零基础教程之do-while循环语句的相关资料,需要的朋友可以参考下
    2024-09-09
  • JavaFX之TableView的使用详解

    JavaFX之TableView的使用详解

    这篇文章主要介绍了JavaFX之TableView的使用,有需要的朋友可以参考一下
    2013-12-12

最新评论