导语:在日常的生活中,在我们使用计算机的过程中,复制粘贴往往给办公、学习等带来了很大的方便,毕竟人类的本质就是复读机,但是Ctrl+C和Crtl+V的方法是在操作系统上实现的,那么程序员要如何通过Java程序实现复制粘贴的操作呢?

以下以TXT文件的复制粘贴为范例做的一些学习分析,希望能够给你带来帮助。

(Fig.实现TXT文件复制粘贴的分析图)

(一)实现过程的简要分析:

在本次演示中,我讲把存放在 E:\JavaTest\file_1.txt 文件复制,粘贴到  E:\JavaTest\java\test.txt 中。

(1)数据源:复制的文件对象(即 file_1.txt 文件)

(2)目标文件:粘贴的文件对象(即 test.txt 文件)

在Java程序中,我们将通过IO来实现对TXT文件的复制粘贴。接下来我们将分为三步来实现对TXT文件的复制粘贴:

①将数据源复制到Java程序中;

②将Java程序粘贴到目标文件;

③整合以上两步的知识,实现了对文件的复制粘贴。

(二)文件读、文件写的代码实现:

在读写文件的时候,数据源/目标文件与程序之间的连接可以类似看成水管,数据通过水管输入、输出(输入、输出的定义是根据程序来确定的)。分成了字节流、字符流两种。

(1)文件读:

代码如下:

package com.suhuiteng.IO_File;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;/*** @Auther:suhuiteng* @Data: 2021/9/26 - 09 - 26 - 16:58* @Description:com.suhuiteng.IO_File* @Vesion:*/
public class FileTest {public static void main(String[] args) throws IOException {//确认源文件File file=new File("E:\\JavaTest\\file_1.txt");//确认输入流FileReader fr=new FileReader(file);//读数据int n;StringBuilder sb=new StringBuilder();while ((n=fr.read())!=-1){sb.append((char)n);}//对StringBuilder sb输出观察System.out.println(sb);//及时关闭输入fr.close();}
}

观察到控制台输出的数据和我们TXT文件存储的数据一致。在程序中我们创建了一个StringBuilder对象sb来存储((char)n),以便在控制台输出的数据是一整段的。

(2)文件写:

package com.suhuiteng.IO_File;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;/*** @Auther:suhuiteng* @Data: 2021/9/26 - 09 - 26 - 16:58* @Description:com.suhuiteng.IO_File* @Vesion:*/
public class FileTest {public static void main(String[] args) throws IOException {//确定输出的数据StringBuilder sb=new StringBuilder();sb.append('a');sb.append("NowTest");System.out.println("我们输出看看sb里面有什么数据在:"+sb);//确认目标文件File file2=new File("E:\\JavaTest\\java\\test.txt");//确认输出流FileWriter fw=new FileWriter(file2);//写数据for (int i = 0; i <sb.length() ; i++) {char a=sb.charAt(i);fw.write(a);}//及时关闭输出fw.close();}
}

在运行代码后,我们能够观察到控制台上我们输出的数据是:aNowTest。打开目标目录下的可以观察到在 E:\JavaTest\java\下有一个程序创建的文件:test.txt,存储的数据为aNowTest。

(三)整合代码实现复制、粘贴:

在(二)中实现了对文件内容的读写,接下来就可以实现复制粘贴的代码整合了。

package com.suhuiteng.IO_File;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;/*** @Auther:suhuiteng* @Data: 2021/9/26 - 09 - 26 - 16:58* @Description:com.suhuiteng.IO_File* @Vesion:*/
public class FileTest {public static void main(String[] args) throws IOException {//确认源文件File file=new File("E:\\JavaTest\\file_1.txt");//确认输入流FileReader fr=new FileReader(file);//读数据int n;StringBuilder sb=new StringBuilder();while ((n=fr.read())!=-1){sb.append((char)n);}//及时关闭输入fr.close();//确定输出目标File file2=new File("E:\\file_write.txt");//确认输出流FileWriter fw=new FileWriter(file2);//写数据for (int i = 0; i <sb.length() ; i++) {char a=sb.charAt(i);fw.write(a);}//及时关闭输出fw.close();}
}

以上代码对两步内容进行整合,实现了对文件直接的复制与粘贴。

结语:本文内容主要是通过范例来实现对学习的知识的一个实践,刚开始学习,整个知识模块逻辑上可能没有写的很详细,一些知识点可能理解不够透彻没有指出来其所以然。欢迎指正,谢谢!

Java实现TXT文件的复制粘贴相关推荐

  1. JNI开发笔记(八)--Java读取txt文件进行JNI测试

    Java读取txt文件进行JNI测试 引 前言 1. 新建assets文件夹 2. 载入测试文件 3. 建立文件读取方法 4. 在MainActivity中读取文件数据 引 JNI开发笔记(一)–An ...

  2. java读取txt文件中的内容

    java读取txt文档中的内容:在这个地方我们输入一个txt文件的路径,就可以读取出txt文档中的内容: public static String readStringFromtxt(String t ...

  3. java读取txt文件

    java如何读入txt文本文件的内容:java从txt文件中读取内容有多种方法,包括按照行读取文件,按照字节读取文件,首先我们来看看按照行读取txt文件中的内容的一般的步骤: 首先是我们创建一个fil ...

  4. Windows和Ubuntu系统之间文件相互复制粘贴

    Windows和Ubuntu系统之间文件相互复制粘贴 在安装Ubuntu系统后发现与Windows系统的文件不能相互复制,网上查了很多教程,发现都是不能用的,能实现的方法如下所示: 第一步: sudo ...

  5. JAVA编程TXT文件_java读写txt文件的方法

    java读写txt文件的方法 发布时间:2020-06-26 15:54:02 来源:亿速云 阅读:111 作者:Leah 本篇文章为大家展示了java读写txt文件的方法,代码简明扼要并且容易理解, ...

  6. [java进阶]1.Java读取txt文件和写入txt文件

    1. Java读取txt文件 import java.io.*; import java.util.ArrayList; import java.util.List;public class unit ...

  7. java读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

  8. java读txt文件乱码_java读取txt文件时出现中文乱码怎么解决

    java读取txt文件时出现中文乱码怎么解决 发布时间:2020-06-25 15:27:31 来源:亿速云 阅读:105 作者:Leah java读取txt文件时出现中文乱码怎么解决?针对这个问题, ...

  9. java读取txt文件乱码解决方案

    因为txt默认的选项是ANSI,即GBK编码.GBK和GB2312都是中文编码,在这里解释一下两者的区别. 总体说来,GBK包括所有的汉字,包括简体和繁体.而gb2312则只包括简体汉字. GBK: ...

最新文章

  1. python的matplotlib背景线_python中matplotlib的颜色及线条 控制
  2. Router通过DHCP上网配置方法
  3. 201521123022 《Java程序设计》 第十三周学习总结
  4. python教程:15种字符串操作方法
  5. SPOJ7258(后缀自动机--第k大的子串)
  6. python qq签到_Yii Framework 中文网每天签到 Python 脚本
  7. 指标实现层级_企业如何构建核心指标系统,实现业务运营效率提升90%?
  8. LeetCode:66. 加一(python、c++)
  9. jsch 长连接_广濑连接器DF13
  10. Oracle→分组函数、GROUP BY、HAVING、多表查询、连接、外连接、自连接、子查询单行多行、ROWNUM、ANY、ALL、NOT IN(...IS NOT NULL)、条件求和、DUAL
  11. python图片分析中央气象台降水_python 画降水量色斑图问题
  12. svn 回退到指定版本无法提交_svn回滚到指定版本
  13. 2008 r2彻底删除 server sql_SQL Server 2008 r2 完全卸载方法分享
  14. linux切换任务栏快捷键,ubuntu常用命令及快捷键整理
  15. 宁西铁路线 宁合线 宁西铁路
  16. 分享一道用Python基础+蒙特卡洛算法实现排列组合的题目(附源码)
  17. 为什么?------”人的天性总是高估自己,而低估别人“
  18. jarvis OJ web babyphp
  19. linux中文件大小10,Linux之查看文件大小
  20. ソ前奏诗存档_如何评价日本摇滚乐团 和楽器バンド(和乐器乐团)?

热门文章

  1. HR灵魂拷问:你真的会用excel吗?
  2. 男人帮之程序员坚持语录
  3. 计算机组装与维护试卷 中职,中职-2012《计算机组装与维护》期末考试试题
  4. poweroff 和 单用户模式
  5. 树莓派的入门配置,包括ftp 远程桌面,中问输入法,语音模块配置
  6. 触觉设备,临场感,预测控制,DOB
  7. 老年人是否适合做种植牙?
  8. Python数据可视化-使用 Pyecharts 制作 Timeline(时间轴组件)详解
  9. 推荐一款牛逼的搜索引擎,是Google的替代品吗?
  10. kali的vega安装流程