JAVA复制的代码,java复制的代码运行错误

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代码复制文件夹时,则需要利用Flie类在目标文件夹中创建相应的目录,并且使用递归方法,代码如下:

import java.io.*;  

/** 

* 复制文件夹或文件夹 

*/  

public class CopyDirectory {  

// 源文件夹   

static String url1 = "F:/photos";  

// 目标文件夹   

static String url2 = "D:/tempPhotos";  

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

// 创建目标文件夹   

(new File(url2)).mkdirs();  

// 获取源文件夹当前下的文件或目录   

File[] file = (new File(url1)).listFiles();  

for (int i = 0; i  file.length; i++) {  

if (file[i].isFile()) {  

// 复制文件   

copyFile(file[i],new File(url2+file[i].getName()));  

}  

if (file[i].isDirectory()) {  

// 复制目录   

String sourceDir=url1+File.separator+file[i].getName();  

String targetDir=url2+File.separator+file[i].getName();  

copyDirectiory(sourceDir, targetDir);  

}  

}  

}  

// 复制文件   

public static void copyFile(File sourceFile,File targetFile)   

throws IOException{  

// 新建文件输入流并对它进行缓冲   

FileInputStream input = new FileInputStream(sourceFile);  

BufferedInputStream inBuff=new BufferedInputStream(input);  

// 新建文件输出流并对它进行缓冲   

FileOutputStream output = new FileOutputStream(targetFile);  

BufferedOutputStream outBuff=new BufferedOutputStream(output);  

// 缓冲数组   

byte[] b = new byte[1024 * 5];  

int len;  

while ((len =inBuff.read(b)) != -1) {  

outBuff.write(b, 0, len);  

}  

// 刷新此缓冲的输出流   

outBuff.flush();  

//关闭流   

inBuff.close();  

outBuff.close();  

output.close();  

input.close();  

}  

// 复制文件夹   

public static void copyDirectiory(String sourceDir, String targetDir)  

throws IOException {  

// 新建目标目录   

(new File(targetDir)).mkdirs();  

// 获取源文件夹当前下的文件或目录   

File[] file = (new File(sourceDir)).listFiles();  

for (int i = 0; i  file.length; i++) {  

if (file[i].isFile()) {  

// 源文件   

File sourceFile=file[i];  

// 目标文件   

File targetFile=new File(new File(targetDir).getAbsolutePath()+File.separator+file[i].getName());  

copyFile(sourceFile,targetFile);  

}  

if (file[i].isDirectory()) {  

// 准备复制的源文件夹   

String dir1=sourceDir + "/" + file[i].getName();  

// 准备复制的目标文件夹   

String dir2=targetDir + "/"+ file[i].getName();  

copyDirectiory(dir1, dir2);  

}  

}  

}  

}

java 从网上复制的代码没有错,但一改里面的一个方法名就报错

Dic是没有定义的类,如果是你自己写的类,用import yourpackage.Dic导入,如果是第三方包,也要用import语句把类导入

java 代码实现复制粘粘功能,详细细节如图,我自己写了一段代码,搞了半天没搞好。

如果是JTable.等java图形界面的组件,那么获取数据,赋值都比较简单.

但是看图片,是要写一个Excel的辅助功能, 这对java来说还是有点麻烦了.

最优建议:

Excel的功能. 那么最佳的建议,是使用vba 语言进行扩展.(微软出品,简单,方便,代码量极少) .

其次的建议:

C/C++ 键盘钩子 , 当读取到按键F9时 ,模拟键盘的复制粘贴等操作.

不推荐java , 但java也能勉强凑合解决这个问题:

因为java 很难获取系统底层的按键, Robot也很有局限, 比如窗口失去焦点的时候,读取不到F9按键.   所以java需要调用JNI c语言 比较繁琐. 比较简单的是调用JNA了,但代码量也不少.

当然了如果非要用java写,也可以,我手写了一个简单的JNA+Robot配合

效果图


分享标题:JAVA复制的代码,java复制的代码运行错误
地址分享:http://hbruida.cn/article/hspjsi.html