首页 > 后端开发 > 正文

怎样用java程序实现文件拷贝 java 编写程序,拷贝一个带内容的文件夹。 例如:将c:\program files\java 文件夹拷贝到D盘的根目录下

2024-04-05 10:12:24 | 我爱编程网

今天我爱编程网小编为大家带来了怎样用java程序实现文件拷贝 java 编写程序,拷贝一个带内容的文件夹。 例如:将c:\program files\java 文件夹拷贝到D盘的根目录下,希望能帮助到大家,一起来看看吧!

本文目录一览:

怎样用java程序实现文件拷贝 java 编写程序,拷贝一个带内容的文件夹。 例如:将c:\program files\java 文件夹拷贝到D盘的根目录下

怎样用java程序实现文件拷贝

工具/原料

一台配置了java环境的电脑

一款适合自己的开发集成环境,这里用的是eclipse Kepler

文件拷贝DEMO

1.首先,理清思路,然后我们再动手操作。

拷贝,有源文件,和目的文件。

如果原文件不存在,提示,报错。

如果目的文件不存在,创建空文件并被覆盖。

如果目的地址,也即目的路径不存在,创建路径。

拷贝,输入流,输出流,关闭流。

拷贝前输出文件大小,计算拷贝大小,比较并核实。输出。

2.首先呢,先判断传参是否完整。

如果不够两个参数,或者多于两个参数,提示错误。

如果目标文件不存在,创建 空文件继续复制。

3.在开始前,输出被拷贝的源文件的大小。

4.获得文件名称,即短名。也即路径下的文件全名(包括文件扩展名)。

5.拷贝的关键,这里用的简单的缓冲流。从源文件到目的文件。

number of bytes copied 即是对拷贝长度的累计,直到拷贝完成,输出。

6.将步骤二中的判断并拷贝文件的代码写在一个main函数中,

执行拷贝,拷贝完成。结果拷贝大小和源文件大小一致,成功。

7.在执行前,记得输入参数。

如果是使用命令提示符,执行 javac CopyFile.java 之后,

执行 java CopyFile [源文件长名] [目的文件长名]

如果是使用的eclipse,在运行前设置一下运行参数,完成后点击运行,如下图。

P.S. 这里面的所谓“长名”是指完整绝对路径+文件名+文件类型扩展名

这里的源文件及目的文件的名称分别为:

E:/IP_Data.rar 和 D:/testFiles/IP_Data.rar

END

怎样用java程序实现文件拷贝 java 编写程序,拷贝一个带内容的文件夹。 例如:将c:\program files\java 文件夹拷贝到D盘的根目录下

用java编写记事本程序,可以实现新建、打开、保存、退出、复制、粘贴、剪切、全选。

import javax.swing.*;

import javax.swing.filechooser.FileFilter;

import java.awt.event.*;

import java.awt.*;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Enumeration;

import java.util.Hashtable;

public class MyText extends JFrame implements ActionListener{

private JLabel lb1;

private JMenuBar mb;

private JMenu 文件, 编辑, 格式, 帮助;

private JMenuItem 新建, 打开, 保存, 退出, 复制, 粘贴, 剪切, 全选, 字体, 关于;

private JTextArea editorArea;

private boolean isDirty = false;

private String strFileName = "未命名";

private static final String EDITOR_NAME = "MyText";

public MyText() {

super();

mb = new JMenuBar();

文件 = new JMenu("文件");

编辑 = new JMenu("编辑");

格式 = new JMenu("格式");

帮助 = new JMenu("帮助");

新建 = new JMenuItem("新建");

新建.addActionListener(this);

打开 = new JMenuItem("打开");

打开.addActionListener(this);

保存 = new JMenuItem("保存");

保存.addActionListener(this);

退出 = new JMenuItem("退出");

退出.addActionListener(this);

复制 = new JMenuItem("复制");

复制.addActionListener(this);

粘贴 = new JMenuItem("粘贴");

粘贴.addActionListener(this);

剪切 = new JMenuItem("剪切");

剪切.addActionListener(this);

全选 = new JMenuItem("全选");

全选.addActionListener(this);

字体 = new JMenuItem("字体");

字体.addActionListener(this);

关于 = new JMenuItem("关于");

关于.addActionListener(this);

mb.add(文件);

mb.add(编辑);

mb.add(格式);

mb.add(帮助);

文件.add(新建);

文件.add(打开);

文件.add(保存);

文件.add(退出);

编辑.add(复制);

编辑.add(粘贴);

编辑.add(剪切);

编辑.add(全选);

格式.add(字体);

帮助.add(关于);

setJMenuBar(mb);

Container container = getContentPane();

editorArea = new JTextArea();

editorArea.setLineWrap(true);

editorArea.addKeyListener(new KeyAdapter() {

public void keyPressed(KeyEvent e) {

if(!isDirty()){

setDirty(true);

}

}

});

JScrollPane scrollPane = new JScrollPane(editorArea);

container.add(scrollPane);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e){

dispose();

}

});

setTitle(formatEditorTitle());

setSize(600, 400);

setVisible(true);

}

private boolean isDirty() {

return isDirty;

}

private void setDirty(boolean isDirty) {

this.isDirty = isDirty;

setTitle(formatEditorTitle());

}

public static void main(String args[]) {

@SuppressWarnings("unused")

MyText app = new MyText();

}

public void actionPerformed(ActionEvent e) {

JMenuItem item = (JMenuItem)e.getSource();

if(item.equals(新建)){

if(isDirty()){

int ret = JOptionPane.showConfirmDialog(getContentPane(), "文件内容已经变动,是否保存?", "MyText", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE);

if(ret == JOptionPane.OK_OPTION){

saveFile();

}else if(ret == JOptionPane.CANCEL_OPTION || ret == JOptionPane.CLOSED_OPTION){

return;

}

}

clearEditorArea();

setDirty(false);

}else if(item.equals(打开)){

if(isDirty()){

int ret = JOptionPane.showConfirmDialog(getContentPane(), "文件内容已经变动,是否保存?", "MyText", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE);

if(ret == JOptionPane.OK_OPTION){

saveFile();

}else if(ret == JOptionPane.CANCEL_OPTION || ret == JOptionPane.CLOSED_OPTION){

return;

}

}

openFile();

}else if(item.equals(保存)){

saveFile();

}else if(item.equals(退出)){

dispose();

}else if(item.equals(复制)){

editorArea.copy();

}else if(item.equals(剪切)){

editorArea.cut();

}else if(item.equals(粘贴)){

editorArea.paste();

}else if(item.equals(全选)){

editorArea.selectAll();

}else if(item.equals(字体)){

FontDialog font = new FontDialog(this, editorArea.getFont());

editorArea.setFont(font.getSelectedFont());

}else if(item.equals(关于)){

AboutDialog about = new AboutDialog(this);

about.setVisible(true);

}

}

private String getFileName() {

return strFileName;

}

private void setFileName(String strFileName) {

this.strFileName = strFileName;

}

public String formatEditorTitle(){

StringBuffer strFileNm = new StringBuffer(getFileName());

strFileNm.append(isDirty()?"*":"");

strFileNm.append(" - ");

strFileNm.append(EDITOR_NAME);

return strFileNm.toString();

}

private void clearEditorArea(){

editorArea.selectAll();

editorArea.replaceSelection("");

}

private void openFile(){

JFileChooser openDialog = new JFileChooser();

openDialog.setFileFilter(new TxtFileFilter());

if(openDialog.showOpenDialog(getContentPane()) == JFileChooser.APPROVE_OPTION){

File file = openDialog.getSelectedFile();

BufferedReader br = null;

try {

br = new BufferedReader(new FileReader(file));

String buff = br.readLine();

clearEditorArea();

while(buff != null){

editorArea.append(buff);

editorArea.append("\n");

buff = br.readLine();

}

} catch (FileNotFoundException e1) {

e1.printStackTrace();

} catch (IOException ioe) {

ioe.printStackTrace();

} finally{

try{

if(br != null)

br.close();

} catch (IOException ioe){

ioe.printStackTrace();

}

}

}

}

private void saveFile(){

JFileChooser saveDialog = new JFileChooser();

saveDialog.setFileFilter(new TxtFileFilter());

if(saveDialog.showSaveDialog(getContentPane()) == JFileChooser.APPROVE_OPTION){

File file = saveDialog.getSelectedFile();

BufferedWriter bw = null;

try {

bw = new BufferedWriter(new FileWriter(file));

String buff = editorArea.getText();

bw.write(buff);

} catch (IOException ioe) {

ioe.printStackTrace();

} finally{

try{

if(bw != null)

bw.close();

} catch (IOException ioe){

ioe.printStackTrace();

}

}

}

}

class TxtFileFilter extends FileFilter{

@Override

public boolean accept(File f) {

return f.isDirectory() || f.getName().toLowerCase().endsWith(".txt");

}

@Override

public String getDescription() {

return "*.txt(文本文件)";

}

}

class FontDialog extends JDialog{

private JComboBox cb_FontSize;

private JComboBox cb_FontStyle;

private JComboBox cb_FontNm;

private Font font;

Hashtable style = new Hashtable();

public FontDialog(){

this(null, null);

}

public FontDialog(Frame owner, Font font){

super(owner);

this.font = font == null?getFont():font;

setTitle("字体选择框");

setModal(true);

setResizable(false);

setSize(326, 164);

getContentPane().setLayout(null);

final JLabel lb_FontNm = new JLabel();

lb_FontNm.setText("字体名称");

lb_FontNm.setBounds(10, 10, 66, 16);

getContentPane().add(lb_FontNm);

cb_FontNm = new JComboBox();

cb_FontNm.setBounds(10, 28, 133, 25);

getContentPane().add(cb_FontNm);

cb_FontStyle = new JComboBox();

cb_FontStyle.setBounds(169, 28, 66, 25);

getContentPane().add(cb_FontStyle);

cb_FontSize = new JComboBox();

cb_FontSize.setBounds(258, 28, 53, 25);

getContentPane().add(cb_FontSize);

final JButton btn_OK = new JButton();

btn_OK.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

int styleCode = 0;

for(Enumeration i = style.keys();i.hasMoreElements();){

styleCode = i.nextElement();

if(style.get(styleCode).equals(cb_FontStyle.getSelectedItem()))

break;

}

Font font = new Font(cb_FontNm.getSelectedItem().toString(), styleCode, ((Integer)cb_FontSize.getSelectedItem()).intValue());

setSelectedFont(font);

dispose();

}

});

btn_OK.setText("确定");

btn_OK.setBounds(58, 83, 76, 26);

getContentPane().add(btn_OK);

final JButton btn_Cancel = new JButton();

btn_Cancel.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

dispose();

}

});

btn_Cancel.setText("取消");

btn_Cancel.setBounds(169, 83, 76, 26);

getContentPane().add(btn_Cancel);

final JLabel lb_FontStyle = new JLabel();

lb_FontStyle.setText("字体样式");

lb_FontStyle.setBounds(169, 10, 66, 16);

getContentPane().add(lb_FontStyle);

final JLabel lb_FontSize = new JLabel();

lb_FontSize.setText("字体大小");

lb_FontSize.setBounds(258, 10, 66, 16);

getContentPane().add(lb_FontSize);

init();

setVisible(true);

}

private void init(){

GraphicsEnvironment gg=GraphicsEnvironment.getLocalGraphicsEnvironment();

String ss[]=gg.getAvailableFontFamilyNames();

for(String s : ss)

cb_FontNm.addItem(s);

if(font != null)

cb_FontNm.setSelectedItem(font.getFamily());

style.put(Font.PLAIN, "标准");

style.put(Font.BOLD, "粗体");

style.put(Font.ITALIC, "斜体");

style.put(Font.BOLD+Font.ITALIC, "粗体&斜体");

cb_FontStyle.addItem(style.get(Font.PLAIN));

cb_FontStyle.addItem(style.get(Font.BOLD));

cb_FontStyle.addItem(style.get(Font.ITALIC));

cb_FontStyle.addItem(style.get(Font.BOLD+Font.ITALIC));

if(font != null)

cb_FontStyle.setSelectedItem(style.get(font.getStyle()));

for(int i=8;i<23;i++)

cb_FontSize.addItem(i);

if(font != null)

cb_FontSize.setSelectedItem(font.getSize());

}

public Font getSelectedFont() {

return font;

}

public void setSelectedFont(Font font) {

this.font = font;

}

}

class AboutDialog extends JDialog{

public AboutDialog(JFrame owner){

super(owner);

setTitle("关于");

setSize(new Dimension(322, 163));

getContentPane().setLayout(null);

final JLabel version = new JLabel();

version.setText("MyText 1.0");

version.setBounds(74, 37, 66, 16);

getContentPane().add(version);

final JLabel copyright = new JLabel();

copyright.setText("Copyright (C) 2010");

copyright.setBounds(74, 59, 188, 16);

getContentPane().add(copyright);

final JSeparator separator = new JSeparator();

separator.setBounds(70, 90, 210, 2);

getContentPane().add(separator);

final JButton okButton = new JButton();

okButton.setBounds(235, 95, 50, 26);

getContentPane().add(okButton);

okButton.setText("Ok");

okButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

dispose();

}

});

}

}

}

怎样用java程序实现文件拷贝 java 编写程序,拷贝一个带内容的文件夹。 例如:将c:\program files\java 文件夹拷贝到D盘的根目录下

java 编写程序,拷贝一个带内容的文件夹。 例如:将c:\program files\java 文件夹拷贝到D盘的根目录下

一、复制文件代码

print?import java.io.*;

import java.util.*;

class Copy

{

static void copy(String from,String to) throws IOException

{

BufferedReader in=new BufferedReader(new FileReader(from));

BufferedWriter out=new BufferedWriter(new FileWriter(new File(to)));

String line=null;

while((line=in.readLine())!=null)

{

out.write(line+"\n");

}

in.close();

out.close();

}

public static void main(String[] args) throws IOException

{

Scanner sc=new Scanner(System.in);

System.out.print("请输入文件路径:");

String from=sc.next();

System.out.print("请输入拷贝路径:");

String to=sc.next();

copy(from,to);

}

}

import java.io.*;

import java.util.*;

class Copy

{

static void copy(String from,String to) throws IOException

{

BufferedReader in=new BufferedReader(new FileReader(from));

BufferedWriter out=new BufferedWriter(new FileWriter(new File(to)));

String line=null;

while((line=in.readLine())!=null)

{我爱编程网

out.write(line+"\n");

}

in.close();

out.close();

}

public static void main(String[] args) throws IOException

{

Scanner sc=new Scanner(System.in);

System.out.print("请输入文件路径:");

String from=sc.next();

System.out.print("请输入拷贝路径:");

String to=sc.next();

copy(from,to);

}

}

二、复制文件夹代码

以上就是我爱编程网整理的怎样用java程序实现文件拷贝 java 编写程序,拷贝一个带内容的文件夹。 例如:将c:\program files\java 文件夹拷贝到D盘的根目录下相关内容,想要了解更多信息,敬请查阅我爱编程网。
与“怎样用java程序实现文件拷贝 java 编写程序,拷贝一个带内容的文件夹。 例如:将c:\program files\java 文件夹拷贝到D盘的根目录下”相关推荐
如何用Python实现在文件夹下查找一个关键词
如何用Python实现在文件夹下查找一个关键词

如何用Python实现在文件夹下查找一个关键词#!/usr/bin/python#coding:utf8importos#判断文件中是否包含关键字,是则将文件路径打印出来defis_file_contain_word(file_list,query_word):for_fileinfile_list:ifquery_wordinopen(_file).read():

2024-01-11 11:26:13
java 8安装完成后的两个文件夹有什么差异?
java 8安装完成后的两个文件夹有什么差异?

关于JAVA运行路径的问题1.AUTOEXEC.BAT你直接复制过去是不运行的,或者你重起一次机器,或者显示全部文件后双击一下2.你的classpath路径错误,classpath是要找lib文件夹,应该是CLASSPATH=%CLASSPATH%;C:\J2SDK1.4.2\LIB;C:\J2SDK1.4.2\JRE\LIB3.实在不行找个jbuilder装上得了,省着麻烦ja

2024-03-29 08:08:42
扇贝的python课程怎么样
扇贝的python课程怎么样

扇贝的python课程怎么样作为一个刚刚学完体验课不久又入手了正式课学了三天的小白,来强答一波。说实话,我是抱着试试看的心情买体验课的,毕竟8块9连顿饭钱都不到,4节课的体验感非常好,每节课15分钟就能学完,给小白的我很大信心。微信群也很暖,每天早上九点到晚上九点都有人在群里问问题,助教闻闻也很耐心地回答,偶尔不在线热心群友会帮忙答疑,像个互帮互助的大家庭。体验课学完以后感觉不过

2024-01-04 06:41:14
如何用cmd编译java文件
如何用cmd编译java文件

如何用cmd编译java文件最近有朋友询问小编如何用cmd来编译java文件,其实这个问题还有很多朋友也不明白,那么如何用cmd编译java文件呢?小编今天就为大家带来cmd怎么编译运行java文件图文步骤,一起看看吧。cmd怎么编译运行java文件图文步骤:1、在windows下利用cmd命令行,可以调用jdk里的javac.exe和java.exe,从而对java文件进行编译和

2024-03-27 04:36:46
java如何调用exe文件?
java如何调用exe文件?

java如何调用exe文件?publicclasstransferExe{\x0d\x0apublicstaticvoidmain(String[]args){\x0d\x0aopenWinExe();\x0d\x0aopenExe();\x0d\x0a}\x0d\x0a//用Java调用windows系统的exe文件,比如notepad,calc之类\x0d\x0apublicstatic

2024-03-23 05:42:40
在LINUX下 用JAVA如何解压rar文件
在LINUX下 用JAVA如何解压rar文件

在LINUX下用JAVA如何解压rar文件楼主试试这个代码~~packagedecompress;importjava.io.File;importjava.io.FileOutputStream;importorg.apache.tools.ant.Project;importorg.apache.tools.ant.taskdefs.Expand;impo

2024-04-04 05:10:44
塞班s60v3兼容java软件吗 都兼容什么后缀名的java文件啊
塞班s60v3兼容java软件吗 都兼容什么后缀名的java文件啊

塞班s60v3兼容java软件吗都兼容什么后缀名的java文件啊只要是java都兼容,但是安装时,文件名不能是中文的,必须改成英文或数字,不然安装失败打不开一般没人用java的软件的,就是有些小游戏用那个,而一般这些小游戏带有收费陷阱玩到多少级就要收费了,最好离线玩。用塞班专用的SIS/SISX的好多了,比其运行流畅效果好。而SIS一般是没签名的,或者有些高手为了修改优化把根证书破坏了,

2024-03-25 23:39:36
如何把.java程序变成.exe可执行文件
如何把.java程序变成.exe可执行文件

如何把.java程序变成.exe可执行文件有两种比较易用的方法:关于两种将Java程序转化为.exe程序工具的使用及比较一JSmooth1.出品Jsmooth,Sourceforge.NET2.类型free3.下载4.步骤a)利用Eclipse将所需要的主类打成可独立运行的jar包,注意添加manifest属性和MainClass。b)新建一个Jsmo

2024-04-06 08:57:26