「java等于复制」java文件的复制
本篇文章给大家谈谈java等于复制,以及java文件的复制对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java中 文件的复制
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.channels.FileChannel;
public class TestTransfer {
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("c:\\abc.txt");
FileOutputStream fos = new FileOutputStream("c:\\123.txt");
FileChannel fc1 = fis.getChannel();
FileChannel fc2 = fos.getChannel();
fc2.transferFrom(fc1, 0, fc1.size());
fc1.close();
fc2.close();
fis.close();
fos.close();
}
}
这是最高效率速度最快的一种,使用时候要特别注意。
JAVA 如何复制
简单的方法,用 inputstream 把文件都进来
然后 用 outputstream 把文件写出去
或者使用 Runtime 调用系统命令行 copy(win) 或 cp(unix) 不过这样将牺牲java 的跨平台特性
还有 使用 jni,但是这种简单功能完全没有必要
推荐第一种,但是注意,当文件比较大时,应使用 读写缓冲区
bufferedreader 也是不错的选择
java中复制文件的两种方法是什么
第一种方法:古老的方式
public static long forJava(File f1,File f2) throws Exception{
long time=new Date().getTime();
int length=2097152;
FileInputStream in=new FileInputStream(f1);
FileOutputStream out=new FileOutputStream(f2);
byte[] buffer=new byte[length];
while(true){
int ins=in.read(buffer);
if(ins==-1){
in.close();
out.flush();
out.close();
return new Date().getTime()-time;
}else
out.write(buffer,0,ins);
}
}
方法的2参数分别是原始文件,和拷贝的目的文件.这里不做过多介绍.
实现方法很简单,分别对2个文件构建输入输出流,并且使用一个字节数组作为我们内存的缓存器, 然后使用流从f1 中读出数据到缓存里,在将缓存数据写到f2里面去.这里的缓存是2MB的字节数组
第2种方法:使用NIO中的管道到管道传输
public static long forTransfer(File f1,File f2) throws Exception{
long time=new Date().getTime();
int length=2097152;
FileInputStream in=new FileInputStream(f1);
FileOutputStream out=new FileOutputStream(f2);
FileChannel inC=in.getChannel();
FileChannel outC=out.getChannel();
int i=0;
while(true){
if(inC.position()==inC.size()){
inC.close();
outC.close();
return new Date().getTime()-time;
}
if((inC.size()-inC.position())20971520)
length=(int)(inC.size()-inC.position());
else
length=20971520;
inC.transferTo(inC.position(),length,outC);
inC.position(inC.position()+length);
i++;
}
}
实现方法:在第一种实现方法基础上对输入输出流获得其管道,然后分批次的从f1的管道中像f2的管道中输入数据每次输入的数据最大为2MB
java 里复制和粘贴的功能代码如何实现
1.
往剪切板写文本数据(就是常说的String拉)
Java代码
protected
static
void
setClipboardText(Clipboard
clip,
String
writeMe)
{
Transferable
tText
=
new
StringSelection(writeMe);
clip.setContents(tText,
null);
}
protected
static
void
setClipboardText(Clipboard
clip,
String
writeMe)
{
Transferable
tText
=
new
StringSelection(writeMe);
clip.setContents(tText,
null);
}
2.
从指定的剪切板中获取文本内容
Java代码
protected
static
String
getClipboardText(Clipboard
clip)
throws
Exception{
//
获取剪切板中的内容
Transferable
clipT
=
clip.getContents(null);
if
(clipT
!=
null)
{
//
检查内容是否是文本类型
if
(clipT.isDataFlavorSupported(DataFlavor.stringFlavor))
return
(String)clipT.getTransferData(DataFlavor.stringFlavor);
}
return
null;
}
关于java等于复制和java文件的复制的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。