新聞中心
java 里復(fù)制和粘貼的功能代碼如何實(shí)現(xiàn)
1.
成都創(chuàng)新互聯(lián)是少有的網(wǎng)站制作、做網(wǎng)站、營(yíng)銷型企業(yè)網(wǎng)站、微信小程序開發(fā)、手機(jī)APP,開發(fā)、制作、設(shè)計(jì)、友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,從2013年開始,堅(jiān)持透明化,價(jià)格低,無(wú)套路經(jīng)營(yíng)理念。讓網(wǎng)頁(yè)驚喜每一位訪客多年來(lái)深受用戶好評(píng)
往剪切板寫文本數(shù)據(jù)(就是常說(shuō)的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.
從指定的剪切板中獲取文本內(nèi)容
Java代碼
protected
static
String
getClipboardText(Clipboard
clip)
throws
Exception{
//
獲取剪切板中的內(nèi)容
Transferable
clipT
=
clip.getContents(null);
if
(clipT
!=
null)
{
//
檢查內(nèi)容是否是文本類型
if
(clipT.isDataFlavorSupported(DataFlavor.stringFlavor))
return
(String)clipT.getTransferData(DataFlavor.stringFlavor);
}
return
null;
}
java文件復(fù)制粘貼
復(fù)制粘貼實(shí)際上是文件的流讀取和寫入可以通過(guò)如下方法實(shí)現(xiàn):
讀寫是兩個(gè)不同的分支,通常都是分開單獨(dú)使用的。
可以通過(guò)BufferedReader 流的形式進(jìn)行流緩存,之后通過(guò)readLine方法獲取到緩存的內(nèi)容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時(shí)獲取到的bre就是整個(gè)文件的緩存流
while ((str = bre.readLine())!= null) // 判斷最后一行不存在,為空結(jié)束循環(huán)
{
System.out.println(str);//原樣輸出讀到的內(nèi)容
};
備注: 流用完之后必須close掉,如上面的就應(yīng)該是:bre.close(),否則bre流會(huì)一直存在,直到程序運(yùn)行結(jié)束。
可以通過(guò)“FileOutputStream”創(chuàng)建文件實(shí)例,之后過(guò)“OutputStreamWriter”流的形式進(jìn)行存儲(chǔ),舉例:
OutputStreamWriter pw = null;//定義一個(gè)流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//確認(rèn)流的輸出文件和編碼格式,此過(guò)程創(chuàng)建了“test.txt”實(shí)例
pw.write("我是要寫入到記事本文件的內(nèi)容");//將要寫入文件的內(nèi)容,可以多次write
pw.close();//關(guān)閉流
備注:文件流用完之后必須及時(shí)通過(guò)close方法關(guān)閉,否則會(huì)一直處于打開狀態(tài),直至程序停止,增加系統(tǒng)負(fù)擔(dān)。
java如何實(shí)現(xiàn)復(fù)制excel中內(nèi)容并粘貼到郵件發(fā)
主要是用到j(luò)ava里面的i/o流。代碼例子如下:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* java讀寫文件,復(fù)制文件
* 讀取d:/1.txt文件內(nèi)容,寫入f:/text.txt文件中.
* @author young
*
*/
public class FileWriterTest {
// 讀寫文件
public static void rwFile(){
FileWriter fw = null;
BufferedReader br = null;
try {
fw = new FileWriter("f:\\text.txt", true);
br = new BufferedReader(new InputStreamReader(
new FileInputStream("d:\\1.txt"), "UTF-8"));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println("文件內(nèi)容: " + line);
fw.write(line);
fw.flush();
}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fw != null) {
try {
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
rwFile();
}
}
首先在D盤新建文件1.txt,輸入任意內(nèi)容。然后執(zhí)行java代碼即可。
java 代碼實(shí)現(xiàn)復(fù)制粘粘功能,詳細(xì)細(xì)節(jié)如圖,我自己寫了一段代碼,搞了半天沒搞好。
如果是JTable.等java圖形界面的組件,那么獲取數(shù)據(jù),賦值都比較簡(jiǎn)單.
但是看圖片,是要寫一個(gè)Excel的輔助功能, 這對(duì)java來(lái)說(shuō)還是有點(diǎn)麻煩了.
最優(yōu)建議:
Excel的功能. 那么最佳的建議,是使用vba 語(yǔ)言進(jìn)行擴(kuò)展.(微軟出品,簡(jiǎn)單,方便,代碼量極少) .
其次的建議:
C/C++ 鍵盤鉤子 , 當(dāng)讀取到按鍵F9時(shí) ,模擬鍵盤的復(fù)制粘貼等操作.
不推薦java , 但java也能勉強(qiáng)湊合解決這個(gè)問(wèn)題:
因?yàn)閖ava 很難獲取系統(tǒng)底層的按鍵, Robot也很有局限, 比如窗口失去焦點(diǎn)的時(shí)候,讀取不到F9按鍵. ? 所以java需要調(diào)用JNI c語(yǔ)言 比較繁瑣. 比較簡(jiǎn)單的是調(diào)用JNA了,但代碼量也不少.
當(dāng)然了如果非要用java寫,也可以,我手寫了一個(gè)簡(jiǎn)單的JNA+Robot配合
效果圖
本文標(biāo)題:用java復(fù)制粘貼的代碼 用java復(fù)制粘貼的代碼有哪些
文章鏈接:http://fisionsoft.com.cn/article/dospioi.html