复制粘贴实际上是文件的流读取和写入可以通过如下方法实现:
创新互联长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为荆州企业提供专业的成都网站设计、成都网站建设,荆州网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
读写是两个不同的分支,通常都是分开单独使用的。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
如果是JTable.等java图形界面的组件,那么获取数据,赋值都比较简单.
但是看图片,是要写一个Excel的辅助功能, 这对java来说还是有点麻烦了.
最优建议:
Excel的功能. 那么最佳的建议,是使用vba 语言进行扩展.(微软出品,简单,方便,代码量极少) .
其次的建议:
C/C++ 键盘钩子 , 当读取到按键F9时 ,模拟键盘的复制粘贴等操作.
不推荐java , 但java也能勉强凑合解决这个问题:
因为java 很难获取系统底层的按键, Robot也很有局限, 比如窗口失去焦点的时候,读取不到F9按键. 所以java需要调用JNI c语言 比较繁琐. 比较简单的是调用JNA了,但代码量也不少.
当然了如果非要用java写,也可以,我手写了一个简单的JNA+Robot配合
效果图
java.awt.datatransfer.Clipboard clipboard=java.awt.Toolkit.getDefaultToolkit().getSystemClipboard(); //获得系统剪切板
//下面是我的记事本部分功能.e.getSource()是当触发了某个事件.这里是copy的代码,下面依此是粘贴,等代码.可以看你需要的部分.(关于clopboard的).都是汉语拼音命名的变良.
else if(e.getSource()==fuZhi||e.getSource()==fuZhi2)//////////Copy 'fuZhi' is 'Copy'
{
String temp=text.getSelectedText();
stringSelection=new StringSelection(temp);
clipboard.setContents(stringSelection,null);
}
else if(e.getSource()==jianQie||e.getSource()==jianQie2)//////////'jianQie' is 'Cut'
{
String temp=text.getSelectedText();
stringSelection=new StringSelection(temp);
clipboard.setContents(stringSelection,null);
int start=text.getSelectionStart();
int end=text.getSelectionEnd();
text.replaceRange("",start,end);
}
//这里是粘贴.主要是如何从系统剪切板里取得数据.
else if(e.getSource()==zhanTie||e.getSource()==zhanTie2)///////////////'zhanTie' is 'Paste'.
{
java.awt.datatransfer.Transferable transferable=clipboard.getContents(this);
java.awt.datatransfer.DataFlavor flavor=java.awt.datatransfer.DataFlavor.stringFlavor;
if(transferable.isDataFlavorSupported(flavor))
{
try
{
int start=text.getSelectionStart();
int end=text.getSelectionEnd();
text.replaceRange("",start,end);
String str;
int n=text.getCaretPosition();
str=(String)transferable.getTransferData(flavor);
text.insert(str,n);
}
catch(Exception ee)
{
}
}
}
打开D盘,点编辑,全部选定,右键点变篮的文件选复制,打开E盘右键点空白处选粘贴。
新闻标题:java代码实现复制粘贴 java实现复制文件
网站路径:https://www.cdcxhl.com/article24/ddgohje.html
成都网站建设公司_创新互联,为您提供网站内链、网站排名、企业建站、移动网站建设、定制网站、网站策划
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联