javaIo流实际应用
生活随笔
收集整理的這篇文章主要介紹了
javaIo流实际应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*查看目錄下所有的文件*/ ? ?
復制子目錄 ?
- 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.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;//練習:關于目錄的拷貝?public class Text6 { // 緩沖區大小private static final int buffer_size = 1024*2; // 源和目標檢測private static void doCopy(File src, File dst)throws IOException { if (src.isFile()) { copyFile(src, dst); } else { File dir = copyDirectory(src, dst); File[] files = src.listFiles(); if (files.length == 0) { } else { for (File file : files) { doCopy(file, dir); } } } } // 拷貝實現public static void copy(File src, File dst) throws IOException { doCopy(src, dst); } // 文件拷貝private static void copyFile(File src, File dst) throws IOException { File file = new File(dst, src.getName()); copy(new BufferedInputStream(new FileInputStream(src)), new BufferedOutputStream(new FileOutputStream(file))); } // 目錄拷貝 要在目標設備中創建目錄private static File copyDirectory(File src, File dst) { File file = new File(dst, src.getName()); file.mkdir(); return file; } // 拷貝private static int copy(BufferedInputStream in, BufferedOutputStream out) throws IOException { int byteCount = 0; // 問號 byteCount try { int bytesReader = 0; byte [] buffer = new byte[buffer_size]; while ((bytesReader = in.read(buffer)) != -1) { out.write(buffer, 0, bytesReader); byteCount += bytesReader; } out.flush(); } finally { in.close(); out.close(); } return byteCount; } public static void main(String[] args)throws IOException {File a=new File("F:\\測試的文件");File b=new File("F:\\我的");copy(a,b); System.out.println("finish.................");}}
給文件改名
- import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;public class Text1{public static void main(String[] args)throws IOException {File a=new File("F:\\測試的文件\\我的");File b=new File("F:\\測試的文件\\我的");copyList(a,b);}public static void copyList(File a,File b )throws IOException{//第一步File c=a;BufferedInputStream bis=null;BufferedOutputStream bos=null;byte bs []=new byte [1024];if (!b.exists()){ //判斷b的文件夾是否存在
b.mkdir();}if(c.isDirectory()){File d [] =c.listFiles();//得到目錄文件的數組if(d!=null){//判斷文件目錄是否為空for (int i=0;i<d.length;i++){copyList(d[i],b);//遞歸查詢//System.out.println(d[i]);//查看目錄里的文件if(d[i].isFile()){if(d[i].getName().endsWith(".jpg")){//根據條件判斷的復制int rel=0;bis=new BufferedInputStream(new FileInputStream(d[i]));bos=new BufferedOutputStream(new FileOutputStream(new File(b,i+".jpg")));while((rel=bis.read(bs))!=-1){bos.write(bs, 0, rel);bos.flush();}bos.close();bis.close();d[i].delete();//復制后刪去復制的文件 這樣看起來像是剪切
}}}} }else{System.out.println(c);}}
}
/**過濾后復制文件夾*/
- import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;//經典過濾方案 用到 iO流 遞歸
public class Text4 {public static void print(File dir,File f2 )throws IOException{//判斷魚塘是否存在if (dir!=null){//判斷魚塘是否有魚if (dir.isDirectory()){//把魚塘里面所有東西裝箱File f []=dir.listFiles();//判斷箱子是否為空if (f!=null){//遍歷箱子里面的東西for (int i=0;i<f.length;i++){//假如箱子里還有箱子就繼續打開
print(f[i],f2);if (f[i].isFile()){String name =f[i].getName();if(name.endsWith(".jpg")){BufferedInputStream bi=new BufferedInputStream(new FileInputStream(f[i]));BufferedOutputStream bo=new BufferedOutputStream(new FileOutputStream(new File(f2,f[i].getName())));int rel=0;byte [] bs=new byte [1024];while((rel=bi.read(bs))!=-1){bo.write(bs,0,rel);bo.flush(); //f[i].delete();//復制后刪去復制的文件 這樣看起來像是剪切
}}} } }else{//System.out.println(dir);
};}}}public static void main(String[] args) throws IOException {File f1=new File("F:\\音樂");File f2=new File("D:\\速度1");print(f1,f2);System.out.println("復制成功");//print(new File("F:"+File.separator+"音樂"));//System.out.println("遍歷文件夾");
}
}
/*刪除文件與文件夾*/ ?
- import java.io.File;
import java.io.IOException;public class Text3 {public static void main(String[] args) throws IOException {File f=new File("F:\\我的");delect(f);}public static void delect(File s){File b []=null;if(s.exists()){//判讀是否存在if(s.isDirectory()){//判斷是不是目錄b=s.listFiles(); if(b!=null){for(int i=0;i<b.length;i++){if(b[i].isFile()){ //判斷是不是目錄b[i].delete();//刪除子文件}else{delect(b[i]);//遞歸b[i].delete();}//刪除子目錄
}}}else{s.delete();};s.delete();}}
}
?
轉載于:https://www.cnblogs.com/ak23173969/p/4979833.html
總結
以上是生活随笔為你收集整理的javaIo流实际应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 远程控制利器TeamViewer使用教程
- 下一篇: jettytomcat对待表单过长问题