主要是用到j(luò)ava里面的i/o流。代碼例子如下:

成都創(chuàng)新互聯(lián)公司是專業(yè)的常寧網(wǎng)站建設(shè)公司,常寧接單;提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行常寧網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
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 中的剪切板
通過(guò)操作系統(tǒng)的剪切板,可以實(shí)現(xiàn)在不同的程序中拷貝和粘貼數(shù)據(jù)。一些用Java寫的程序例如很多開(kāi)發(fā)環(huán)境也可以訪問(wèn)到剪切板,本文就是研究如何在Java程序中讀寫系統(tǒng)剪切板的數(shù)據(jù)。
Java中使用java.awt.datatransfer.Clipboard類來(lái)描述剪切板,并把剪切板分為兩種類型:本地和系統(tǒng),本地剪切板使用 Clipborad cp = new Clipboard("clip1"); 來(lái)構(gòu)造;系統(tǒng)剪切板通過(guò)
Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
獲取,下面我們給出幾個(gè)常用的方法用于讀寫剪切板中的文本數(shù)據(jù)以及圖像數(shù)據(jù)
1. 從指定的剪切板中獲取文本內(nèi)容
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;
}
2. 往剪切板寫文本數(shù)據(jù)
protected static void setClipboardText(Clipboard clip, String writeMe) {
Transferable tText = new StringSelection(writeMe);
clip.setContents(tText, null);
}
3. 從剪切板讀取圖像
public static Image getImageFromClipboard() throws Exception{
Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable cc = sysc.getContents(null);
if (cc == null)
return null;
else if(cc.isDataFlavorSupported(DataFlavor.imageFlavor))
return (Image)cc.getTransferData(DataFlavor.imageFlavor);
return null;
}
4. 寫圖像到剪切板
protected static void setClipboardImage2(final Image image) {
Transferable trans = new Transferable(){
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] { DataFlavor.imageFlavor };
}
public boolean isDataFlavorSupported(DataFlavor flavor) {
return DataFlavor.imageFlavor.equals(flavor);
}
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
if(isDataFlavorSupported(flavor))
return image;
throw new UnsupportedFlavorException(flavor);
}
};
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(trans, null);
}
有了這四個(gè)方法,你下面可以自己寫一些程序來(lái)進(jìn)行測(cè)試,利用它來(lái)實(shí)現(xiàn)與其他程序結(jié)合測(cè)試對(duì)剪切板數(shù)據(jù)的操作。這里給出一個(gè)用于顯示圖像的類,只要把Image實(shí)例作為參數(shù)傳入即可。
/*
* Created on 2004-12-23
* 查看圖形的窗口
*/
package javayou.clipboard;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
/**
* @author Winter Lau 用于顯示圖形的窗口
*/
public class ImageViewer extends Frame {
private Image image;
/**
* 顯示一個(gè)圖像
* @param viewMe
*/
public ImageViewer(Image viewMe) {
image = viewMe;
MediaTracker mediaTracker = new MediaTracker(this);
mediaTracker.addImage(image, 0);
try {
mediaTracker.waitForID(0);
} catch (InterruptedException ie) {
ie.printStackTrace();
System.exit(1);
}
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//窗口適應(yīng)圖像大小
setSize(image.getWidth(null), image.getHeight(null));
//窗口標(biāo)題
setTitle("Viewing Image from Clipboard");
setVisible(true);
}
public void paint(Graphics graphics) {
graphics.drawImage(image, 0, 0, null);
}
/**
* 用于讀取圖像文件并生成Image對(duì)象
*/
public static Image getImageFromFile(String fileName) {
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.getImage(fileName);
return image;
}
}
test.copy("G:\\G盤寄存資料\\我的文檔1\\音樂(lè)課堂.doc","G:\\G盤寄存資料");
請(qǐng)注意上面的有個(gè)文件夾名字叫“G盤寄存資料”,你復(fù)制的文件后的新文件名也叫“G盤寄存資料”,這樣名字重復(fù)了,所以就出錯(cuò)了。
可以把程序改成這樣的話就行了:
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class FileCopy {
public void copy(String src, String dest){//**********
InputStream is=null;
OutputStream os=null;
char ch[]=src.toCharArray();
//************新添加的代碼**********
int pos=0;
for(int i=ch.length-1;i=0;i--)
{
if(ch[i]=='\\')
{
if(ipos)
pos=i;
}
}
String temp=src.substring(pos);
dest=dest+temp;
System.out.println("dest="+dest);
//****************************************
try {
is=new BufferedInputStream(new FileInputStream(src));
os=new BufferedOutputStream(new FileOutputStream(dest));
byte[] b=new byte[256];
int len=0;
String str=null;
StringBuilder sb=new StringBuilder();
try {
while((len=is.read(b))!=-1){
os.write(b,0,len);
}
os.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(is!=null){
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally{
if(os!=null){
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
FileCopy test=new FileCopy();
test.copy("G:\\G盤寄存資料\\我的文檔1\\hello.txt","G:\\G盤寄存資料");//++++++++++++++++++++++
}
}
你好:
從A讀取到B中:
import?java.io.*;
public?class?IoDemo{
public?static?void?main(String[]?args)throws?Exception{
String?str?=?"";
File?file1?=?new?File("D:\\A.txt");
File?file2?=?new?File("D:\\B.txt");
BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(new?FileInputStream(file1),"UTF-8"));
//讀取
while?(br.read()!=-1)?{
str?+=?br.readLine();
}
br.close();
br?=?new?BufferedReader(new?FileReader(file2));
str?+=?br.readLine();
br.readLine();
//寫入
BufferedWriter?bw?=?new?BufferedWriter(new?FileWriter(file2));
bw.write(str);
bw.close();
}
}
1.
往剪切板寫文本數(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;
}
網(wǎng)站欄目:java復(fù)制文本代碼,java復(fù)制文本框文字
本文路徑:http://chinadenli.net/article43/dsehohs.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、網(wǎng)站收錄、全網(wǎng)營(yíng)銷推廣、企業(yè)網(wǎng)站制作、品牌網(wǎng)站建設(shè)、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容