基于对文件输入输出流的一些简单应用,编写了一个文件复制程序(提醒:单核CPU慎用,占用CPU太多)
以下是源代码:
1.界面
package file.iostream;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
/**
* 文件的复制登陆界面
*
* @author lenovo
*
*/
public class FileCopyUI extends JFrame{
public static void main(String args[]) {
// 创建FileCopy对象
FileCopyUI fc = new FileCopyUI();
fc.showUI();
}
/**
* 初始化窗口
*/
public void showUI(){
//设置标题
this.setTitle("文件复制器 v1.0");
//设置窗体大小
this.setSize(400,250);
//创建流式布局器
java.awt.FlowLayout fl=new java.awt.FlowLayout();
this.setLayout(fl);
//创建一个面板对象
JPanel jp=new JPanel();
//创建一个尺寸对象
java.awt.Dimension di=new java.awt.Dimension(392,96);
//设置面板的大小
jp.setPreferredSize(di);
//创建并给面板加上流式布局器
java.awt.FlowLayout fl1=new java.awt.FlowLayout();
jp.setLayout(fl1);
//创建两个标签,创建两个文本框,一个按钮
JLabel jl1=new JLabel(" 源文件路径:");
final JTextField jt1=new JTextField(20);
JLabel jl2=new JLabel("复制后文件路径:");
final JTextField jt2=new JTextField(20);
JButton jb=new JButton("开始复制");
//将标签,文本行,按钮加到面板上去
jp.add(jl1);
jp.add(jt1);
jp.add(jl2);
jp.add(jt2);
jp.add(jb);
//把面板加到窗体
this.add(jp);
//创建一个多行文本框
final JTextArea jta=new JTextArea(5,30);
// 创建一个滚动条
JScrollPane jsp = new JScrollPane(jta);
this.add(jta);
this.add(jsp);
//窗体大小不可改变
this.setResizable(false);
//关闭时退出
this.setDefaultCloseOperation(3);
//将窗体显示出来
this.setVisible(true);
//给开始复制按钮安装动作监听器
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String start="正在复制……";
//将start写入多行文本框中
jta.append(start);
//得到源文件路径
String str1=jt1.getText();
//得到复制后文件路径
String str2=jt2.getText();
//创建一个FileCopy对象
FileCopy fc=new FileCopy();
//调用复制函数
fc.copyflie(str1, str2);
String end="复制成功!!!";
//将start写入多行文本框中
jta.append("\n"+end);
}
});
}
}
2.文件复制方法
package file.iostream;
/**
* 文件复制方法类
*
* @author lenovo
*
*/
public class FileCopy {
/**
* 文件复制的方法
*
* @param srcpath
* :原来的文件文件路径
* @param copypath
* :复制后的文件路径
* @return:是否复制成功
*/
public void copyflie(String srcpath, String copypath) {
try {
// 根据给定的路径创建输入流对象
java.io.FileInputStream is = new java.io.FileInputStream(srcpath);
// 创建一个输出流对象
java.io.FileOutputStream os = new java.io.FileOutputStream(copypath);
// 读取流的字节
int s = is.read();
// 读取字节知道读取完,并将读取的字节装入队列
while (s != -1) {
// 将读取的字节强制转化为字节类型
byte b = (byte) (s);
// 取出字节
os.write(b);
// 读取字节
s = is.read();
}
// 强制输出
os.flush();
// 关闭流
is.close();
os.close();
} catch (Exception ef) {
ef.printStackTrace();
}
}
}
以下是界面效果:
- 大小: 13.4 KB
分享到:
相关推荐
改进版文件复制程序,包含实验报告。程序运行后,分别提示输入源文件和目标文件路径名,然后进行磁盘文件的复制。复制完成后显示“文件复制完成”信息。若复制失败,则能给出“源文件不存在”、“目标路径不存在”、...
C#自己自学的文件复制程序带进度条,好不容易码出来的,初学者真是难
面向用户的文件复制程序,文件夹及其文件复制,JAVA 递归,遍历所有文件,并根据所选地址进行复制
用汇编语言编写的,程序运行后,分别提示输入源文件和目标文件路径名,然后进行磁盘...复制完成后显示“文件复制完成”信息。若复制失败,则能给出“源文件不存在”、“目标路径不存在”、“目标文件已存在”等信息。
可以实现文件复制,C语言 控制台程序 在 vC++2008运行没问题
用Visual C# 2005做该程序,实现将一个目标文件拷贝到目标路径下的功能,在拷贝的过程中随时可以中断。主要用到了System.IO中的流、目录和文件以及System.Threading的功能。
程序功能:程序运行后,分别提示输入源文件和目标文件路径名,然后进行磁盘文件的...复制完成后显示“文件复制完成”信息。若复制失败,则能给出“源文件不存在” 、“目标路径不存在” 、“目标文件已存在”等信息。
一个多功能文件复制C#程序源码,希望大家多指教。嘴下留情:)
文件复制程序,选择目标文件路径,选择源文件的路径后,点击按钮可进行复制操作。文件扩展名格式:文本文件(*.doc)|*.doc|Txt文件(*.Txt)|*.txt|ALL File(*.*)。本复制文件是通过字节读取的方式,将读出的每...
用c++写的一个简单复制程序,执行时,需用命令行参数,且复制的文件名需加后缀!
以可视化窗口的形式,利用简单的IO操作实现文本的复制 黏贴 和清除
自己当初编程时是先将要转换的C语言常数ID复制到程序的常数区.const中,然后再用查找替换功能去掉#define语句,再一个个地在常数和数值之间加equ。多的时候麻烦死了。 于是便想开发一个专门用于将这些C语言格式的...
1.实验内容与目的 熟悉有关文件的系统调用,学习文件系统的系统调用命令,提高对文件系统实现功能的理解和掌握。使用creat open read write 等系统调用用C语言编程实现复制文件。
赋值文件测试程序 filecopy.cpp Maincopy.cpp
利用java编程实现简单的文件复制程序,txt文件复制
一次复制多份本文件程序(VB6.0代码编写) 在内容中写入文字,点“复制文件”时,将会在其根目录下找到复制的文件。 QQ223857666勾月
用户输入原始文件地址。。。然后输入要复制到的目录。
文件复制器程序(VB6.0源代码编写)利用FileCopy函数复制文件‘CommonDialog1.Filter
文件复制、强制替换工具(正在使用的程序也可替换)
1)在FileCopy类中,建立copy方法,实现文件复制的内容; 2)程序中需要考虑输入输出异常处理; 3)在dos控制台窗口环境下,通过命令行参数运行程序,如: Java FileCopy test1.txt test2.txt