日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

copy所有的java文件到硬盘_将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad...

發布時間:2024/9/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 copy所有的java文件到硬盘_将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

listFiles方法接受一個FileFilter對象,這個FileFilter對象就是過慮的策略對象,不同的人提供不同的FileFilter實現,即提供了不同的過濾策略。

//將d:\java目錄下的所有.java文件復制到d:\jad目錄下,并將原來文件的擴展名從.java改為.jad

packagecom.file;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.FilenameFilter;importjava.io.IOException;public classChangeFileName {public static void main(String[] args) throwsException {

File srcDir=new File("java");if(!(srcDir.exists()&&srcDir.isDirectory())){throw new Exception("目錄不存在!");

}

File[] files=srcDir.listFiles(newFilenameFilter(){public booleanaccept(File dir, String name) {return name.endsWith(".java");//過濾后綴名為.java的文件

}

}

);

System.out.println(files.length);

File deskDir=new File("jad");if(!(deskDir.exists()))

deskDir.mkdir();//目錄不存在創建一個新目錄for(File file : files) {

FileInputStream fis=newFileInputStream(file);

String deskFileName=file.getName().replace("\\.java$", ".jad");//更改文件后綴名

FileOutputStream fos=new FileOutputStream(newFile(deskDir,deskFileName));//創建一個要寫入的目標文件

copy(fis,fos);

fis.close();

fos.close();

}

}

//將文件從一個文件復制到另一個文件public static void copy(FileInputStream fis,FileOutputStream fos) throwsIOException{byte[] buf=new byte[1024];int len=0;if((len=fis.read(buf))!=-1){

fos.write(buf,0, len);

}

}

}

將每個文件復制到另外一個目錄,并改擴展名

得到目標目錄,如果目標目錄不存在,則創建之

根據源文件名得到目標文件名,注意要用正則表達式,注意.的轉義。

根據表示目錄的File和目標文件名的字符串,得到表示目標文件的File。

//要在硬盤中準確地創建出一個文件,需要知道文件名和文件的目錄。

將源文件的流拷貝成目標文件流,拷貝方法獨立成為一個方法,方法的參數采用抽象流的形式。

//方法接受的參數類型盡量面向父類,越抽象越好,這樣適應面更寬廣。

分析listFiles方法內部的策略模式實現原理

File[] listFiles(FileFilter filter){

File[] files = listFiles();

//Arraylist acceptedFilesList = new ArrayList();

File[] acceptedFiles = new File[files.length];

int pos = 0;

for(File file: files){

boolean accepted = filter.accept(file);

if(accepted){

//acceptedFilesList.add(file);

acceptedFiles[pos++] = file;

}

}

Arrays.copyOf(acceptedFiles,pos);

//return (File[])accpetedFilesList.toArray();

}

總結

以上是生活随笔為你收集整理的copy所有的java文件到硬盘_将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。