更新時間:2020-07-09 15:01:28 來源:動力節點 瀏覽1936次
1、最高效讀寫文件
public?class?Test?{
?/**
??*?最高效的讀寫文件
??*?@throws?IOException
??*/
?public?static?void?main(String[]?args)?throws?IOException?{
??//創建文件和文件夾
??String?filePath="d:\\gm\\gtm\\ss.txt";
??File?file=new?File(filePath);
??File?parentFile=file.getParentFile();
??if(!parentFile.exists()){
???System.out.println("文件夾不存在");
???parentFile.mkdirs();
??}else{
???System.out.println("文件夾存在");
???deleteFolder(file);
???parentFile.mkdirs();
???System.out.println("創建文件夾成功");
??}
??try?{
???file.createNewFile();
???System.out.println("創建文件成功");
??}?catch?(IOException?e)?{
???e.printStackTrace();
??}
??BufferedReader?bufferedReader?=?new?BufferedReader(new?InputStreamReader(new?FileInputStream(path),"utf-8"),1024);
??BufferedWriter?bufferedWriter?=?new?BufferedWriter(new?OutputStreamWriter(new?FileOutputStream(filePath),"utf-8"),1024);
??String?line=null;
??while((line=bufferedReader.readLine())!=null){
???bufferedWriter.write(line);
???bufferedWriter.newLine();
???bufferedWriter.flush();
??}
??bufferedWriter.close();
??bufferedReader.close();
?}
?
?public?static?void?deleteFolder(File?folder){
??File[]?file=folder.listFiles();
??if(file?!=null){
???for(File?f:file){
????if(f.isDirectory()){
?????deleteFolder(f);
????}else{
?????f.delete();
????}
???}
??}
??folder.delete();
??System.out.println("刪除成功");
?}
2、最高效讀寫媒體文件
public?class?Test?{
?/**
??*?最高效率讀寫媒體文件,只能使用buffered字節流,因為使用字符流的話,讀取的時候還是先獨到字節,再根據unicode碼表去找對應的字符,
??*?找不到的就會隨便用一個字符代替,這樣就會亂碼
??*/
?public?static?void?main(String[]?args)?{
??String?picPath="D:"+File.separator+"Pictures"+File.separator+"個人照片"+File.separator+"DSCF4505A.jpg";
??String?newPath="D:"+File.separator+"gm"+File.separator+"gtm"+File.separator+"123.jpg";
??BufferedInputStream?bufferedInputStream?=?null;
??BufferedOutputStream?bufferedOutputStream?=?null;
??try?{
???bufferedInputStream=new?BufferedInputStream(new?FileInputStream(picPath));
???bufferedOutputStream?=?new?BufferedOutputStream(new?FileOutputStream(newPath));
???int?len=0;
//???byte[]?b=new?byte[1024];?不需要使用,因為緩沖流自帶緩沖區,也就是這個字節數組
???try?{
????while((len=bufferedInputStream.read())!=-1){
?????bufferedOutputStream.write(len);
????}
???}?catch?(IOException?e)?{
????e.printStackTrace();
???}
??}?catch?(FileNotFoundException?e)?{
???e.printStackTrace();
??}finally{
???if(bufferedOutputStream!=null){
????try?{
?????bufferedOutputStream.close();
????}?catch?(IOException?e)?{
?????e.printStackTrace();
????}
???}
???if(bufferedInputStream!=null){
????try{
????bufferedInputStream.close();
????}catch(IOException?e){
?????e.printStackTrace();
????}
???}
??}
??
?}
以上就是動力節點java培訓機構的小編針對“Java編程基礎分享,Io編程練習題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習