大体上是两种方法。
创新互联专注于企业营销型网站建设、网站重做改版、弋阳网站定制设计、自适应品牌网站建设、H5开发、商城网站开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为弋阳等各大城市提供网站开发制作服务。
1.你所说的模拟键盘快捷键来完成。(这个你否定了)
2.那就是创建文件。
这个字符串的来源你肯定知道。
如果是复制到一个TXT文件中,直接用IO流写入就可以了。
如果是想复制到word文件中,需要用可以操作office的类库。(比如POI)
如果是JTable.等java图形界面的组件,那么获取数据,赋值都比较简单.
但是看图片,是要写一个Excel的辅助功能, 这对java来说还是有点麻烦了.
最优建议:
Excel的功能. 那么最佳的建议,是使用vba 语言进行扩展.(微软出品,简单,方便,代码量极少) .
其次的建议:
C/C++ 键盘钩子 , 当读取到按键F9时 ,模拟键盘的复制粘贴等操作.
不推荐java , 但java也能勉强凑合解决这个问题:
因为java 很难获取系统底层的按键, Robot也很有局限, 比如窗口失去焦点的时候,读取不到F9按键. 所以java需要调用JNI c语言 比较繁琐. 比较简单的是调用JNA了,但代码量也不少.
当然了如果非要用java写,也可以,我手写了一个简单的JNA+Robot配合
效果图
import java.io.*;
public class Copy {
public static void main(String args[]){
if(args.length!=2){
System.out.println("参数不正确,无法完成复制!正确用法:");
System.out.println("java Copy 源文件名 目的文件名");
System.exit(0);
}
copyFile(args[0],args[1]);
}
public static void copyFile(String src,String obj){
FileInputStream fis=null;
FileOutputStream fos=null;
try{
fis=new FileInputStream(src);
fos=new FileOutputStream(obj);
}catch(FileNotFoundException e){
System.out.println("文件不存在,请检查您的输入:");
}catch(IOException e){
e.printStackTrace();
}
try{
int b;
while((b=fis.read())!=-1){
fos.write(b);
}
fos.flush();
System.out.println("文件复制成功!");
}catch(IOException e){
System.out.println("文件写入错误!");
}
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Copy {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
if(args.length!=2){
System.out.print("没有输入正确数目的参数,程序退出!");
System.exit(0);
}
File fileS = new File("./"+args[0]);
File fileD = new File("./"+args[1]);
if(fileD.exists())System.out.println("目标文件 "+args[1]+" 已存在!");
byte[] temp = new byte[50];
int totalSize = 0;
try {
FileInputStream fr = new FileInputStream(fileS);
FileOutputStream fo = new FileOutputStream(fileD);
int length = 0;
while((length = fr.read(temp, 0, temp.length)) != -1){
totalSize += length;
fo.write(temp, 0, length);
}
System.out.println("文件 "+args[0]+" 有 "+totalSize+" 个字节");
System.out.println("复制完成!");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("源文件 "+args[0]+" 不存在!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}