「java自动复制」如何自动复制
本篇文章给大家谈谈java自动复制,以及如何自动复制对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java如何快速复制大文件
- 2、Java 如何复制对象
- 3、Java怎么实现文件拷贝
- 4、用java写一个复制功能的函数
- 5、求大神编写一个JAVA程序能自动复制U盘上的文件,给代码.
- 6、怎样用java代码写html网页实现特殊的点击自动复制?
Java如何快速复制大文件
在Java编程中,复制文件的方法有很多,而且经常要用到。我以前一直是缓冲输入输出流来实现的(绝大多数人都是如此),近来在研究JDK文档时发现,用文件通道(FileChannel)来实现文件复制竟然比用老方法快了近三分之一。下面我就来介绍一下如何用文件通道来实现文件复制,以及在效率上的对比
用文件通道的方式来进行文件复制
/**
* 使用文件通道的方式复制文件
*
* @param s
* 源文件
* @param t
* 复制到的新文件
*/
public void fileChannelCopy(File s, File t) {
FileInputStream fi = null;
FileOutputStream fo = null;
FileChannel in = null;
FileChannel out = null;
try {
fi = new FileInputStream(s);
fo = new FileOutputStream(t);
in = fi.getChannel();//得到对应的文件通道
out = fo.getChannel();//得到对应的文件通道
in.transferTo(0, in.size(), out);//连接两个通道,并且从in通道读取,然后写入out通道
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fi.close();
in.close();
fo.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Java 如何复制对象
可以使用clone来实现,clone用于为引用类型的复制
1.使用clone方法的类必须先实现Cloneable接口,不然clone方法会直接返回CloneNotSupportedException不支持克隆的异常
2、实现Cloneable接口的类应该使用公共方法重写 Object.clone(它是受保护的)。某个对象实现了此接口就克隆它是不可能的。即使 clone 方法是反射性调用的,也无法保证它将获得成功。
3、在Java.lang.Object类中克隆方法是这么定义的:
protected Object clone()
throws CloneNotSupportedException
创建并返回此对象的一个副本。表明是一个受保护的方法,同一个包中可见。
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写一个复制功能的函数
直接调用System.ArrCopy()函数就行啊,要自己写的话,好吧,完整代码写出来算了(输入一个自定义长度的数组a并复制到b中输出)
import java.util.Scanner;
class TestArr
{
public static void main(String[] args)
{
Scanner p = new Scanner(System.in);
System.out.println("请输入数组长度");
int i = p.nextInt();
System.out.printf("请输入%d长度的数组a",i);
String[] a = new String[i];
String[] b = new String[i];
for(i=0;ia.length;i++)
a[i]=p.next();
copy(a,b);
for(i=0;ia.length;i++)
System.out.print(b[i]+" ");
}
private static void copy(String[] m,String[] n)
{
for(int i=0;im.length;i++)
{
n[i] = m[i];
}
}
}
求大神编写一个JAVA程序能自动复制U盘上的文件,给代码.
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Scanner;
public class KKKKKKKKKKK {
public static void main(String[] args) throws Exception {
Scanner scan = new Scanner(System.in);
System.out.println("请输入U盘路径:");
String uDisk = scan.nextLine();
File file = new File(uDisk);
if (file.exists() file.isDirectory()) {
System.out.println("请输入目标路径:");
String targetFolder = scan.nextLine();
File target = new File(targetFolder);
if (!target.exists()) {
if (!target.mkdir()) {
throw new Exception("创建目标目录失败");
}
} else {
if (!target.isDirectory()) {
throw new Exception("与目标目录同名的文件已经存在");
}
}
File temp[] = file.listFiles();
if (temp != null temp.length 0) {
for (int i = 0, length = temp.length; i length; i++) {
if (!temp[i].isDirectory()) {
String fileName = temp[i].getName();
File t = new File(targetFolder+File.separator+fileName);
if (!t.createNewFile()) {
throw new Exception("创建输出文件失败");
}
FileOutputStream out = new FileOutputStream(t);
FileInputStream in = new FileInputStream(temp[i]);
byte[] buffer = new byte[256];
while (in.read(buffer) 0) {
out.write(buffer);
}
}
}
}
}
}
}
另外如果你的U盘上有目录,并且也希望考过去的话,要加一个递归函数 ,命令函输入U盘所在的盘符:比如:e:\\,目标目录比如:c:\\abc
怎样用java代码写html网页实现特殊的点击自动复制?
script language="javascript"
function copyToClipBoard(id){
//var bankName = document.getElementById("yh"+id).innerHTML;
var account = document.getElementById("span"+id).innerHTML;
account = account.replace(" ","");
var index = 0;
while(index != -1){
account = account.replace(" ","");
index = account.indexOf(" ");
}
var clipBoardContent=account;
window.clipboardData.setData("Text",clipBoardContent);
alert("温馨提示:\n\n您已经成功复制该银行账号!\n请直接粘贴到网银转账的收款方管理账号中。");
}
/script
--------------------------------------------------------------------
p银行账号:span id="span1" onclick="copyToClipBoard(1);"6222 0212 0300 1928 125/span /p
p银行账号:span id="span2" onclick="copyToClipBoard(2);"6222 0212 0300 1928 144/span /p
p银行账号:span id="span3" onclick="copyToClipBoard(3);"6222 0212 0300 1928 166/span /p
关于java自动复制和如何自动复制的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。