復(fù)制粘貼實際上是文件的流讀取和寫入可以通過如下方法實現(xiàn):
創(chuàng)新互聯(lián)長期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為荊州企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè),荊州網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
讀寫是兩個不同的分支,通常都是分開單獨使用的。
可以通過BufferedReader 流的形式進行流緩存,之后通過readLine方法獲取到緩存的內(nèi)容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
while ((str = bre.readLine())!= null) // 判斷最后一行不存在,為空結(jié)束循環(huán)
{
System.out.println(str);//原樣輸出讀到的內(nèi)容
};
備注: 流用完之后必須close掉,如上面的就應(yīng)該是:bre.close(),否則bre流會一直存在,直到程序運行結(jié)束。
可以通過“FileOutputStream”創(chuàng)建文件實例,之后過“OutputStreamWriter”流的形式進行存儲,舉例:
OutputStreamWriter pw = null;//定義一個流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//確認流的輸出文件和編碼格式,此過程創(chuàng)建了“test.txt”實例
pw.write("我是要寫入到記事本文件的內(nèi)容");//將要寫入文件的內(nèi)容,可以多次write
pw.close();//關(guān)閉流
備注:文件流用完之后必須及時通過close方法關(guān)閉,否則會一直處于打開狀態(tài),直至程序停止,增加系統(tǒng)負擔。
如果是JTable.等java圖形界面的組件,那么獲取數(shù)據(jù),賦值都比較簡單.
但是看圖片,是要寫一個Excel的輔助功能, 這對java來說還是有點麻煩了.
最優(yōu)建議:
Excel的功能. 那么最佳的建議,是使用vba 語言進行擴展.(微軟出品,簡單,方便,代碼量極少) .
其次的建議:
C/C++ 鍵盤鉤子 , 當讀取到按鍵F9時 ,模擬鍵盤的復(fù)制粘貼等操作.
不推薦java , 但java也能勉強湊合解決這個問題:
因為java 很難獲取系統(tǒng)底層的按鍵, Robot也很有局限, 比如窗口失去焦點的時候,讀取不到F9按鍵. ? 所以java需要調(diào)用JNI c語言 比較繁瑣. 比較簡單的是調(diào)用JNA了,但代碼量也不少.
當然了如果非要用java寫,也可以,我手寫了一個簡單的JNA+Robot配合
效果圖
java.awt.datatransfer.Clipboard?clipboard=java.awt.Toolkit.getDefaultToolkit().getSystemClipboard();?//獲得系統(tǒng)剪切板
//下面是我的記事本部分功能.e.getSource()是當觸發(fā)了某個事件.這里是copy的代碼,下面依此是粘貼,等代碼.可以看你需要的部分.(關(guān)于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);
}
//這里是粘貼.主要是如何從系統(tǒng)剪切板里取得數(shù)據(jù).
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盤,點編輯,全部選定,右鍵點變籃的文件選復(fù)制,打開E盤右鍵點空白處選粘貼。
新聞標題:java代碼實現(xiàn)復(fù)制粘貼 java實現(xiàn)復(fù)制文件
網(wǎng)站路徑:http://m.rwnh.cn/article24/ddgohje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站排名、企業(yè)建站、移動網(wǎng)站建設(shè)、定制網(wǎng)站、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)