快捷方式标签请点击大纲
1.读取文件夹下的子文件...(已知几层路径和递归调用)
2.得到当前日期
3.定时器
4.java查询本机ip1.读取文件下的子文件
(已经知道有几层子文件的情况下)
第一种:
package io1;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class newSZ3 {/**得到路径下的所有子文件夹*/public static ArrayList<String> findFile(String filePath){//得到路径下的所有子文件夹ArrayList<String> files11=new ArrayList<String>();File[] files1=new File(filePath).listFiles();if(files1.length>0){for(int i=0;i<files1.length;i++){//子文件夹的名字放进集合files11.add(files1[i].getName());}}else{files11=null;}return files11;}/**读取文件*/public static void input(String fileUrl) throws IOException{//产生输入流对象InputStream is=new FileInputStream(fileUrl);//为了处理文件中的汉字InputStreamReader isr=new InputStreamReader(is);//处理文件中的格式BufferedReader br=new BufferedReader(isr);String item =null;while((item= br.readLine())!=null){item=item.replace('\n', ' ');String[] itemAll=item.split("\\|", -1);if(itemAll[3].length()>0&&itemAll[10].equals("2")){//去除第一行System.out.println( " 符合要求的有->银行代码:"+itemAll[0]+"状态:"+itemAll[10]);}}br.close();System.out.println(" ");}public static void main(String[] args) throws IOException {String filePath = "E:/temp/post";//根文件路径//建立一个路径集合ArrayList<String> files= findFile(filePath);ArrayList<String> files2=null;if(files!=null){System.out.println(filePath+"下所有子文件:");int i=1;for (String ss : files) {//filePath=filePath+"/"+ss;System.out.println("第"+i+"个子文件:"+ss);i++;//再调用一次查找文件files2= findFile(filePath+"/"+ss);if(files2!=null){System.out.println(" 该文件下的所有子文件:");for (String ss2 : files2) {System.out.println(" "+ss2);//查找符合条件的input(filePath+"/"+ss+"/"+ss2);}}else{System.out.println(" 该二级文件夹为空");}}}else{System.out.println(" 一级文件夹为空");}
}
}
第二种:
package io1;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class newSZ2 {public static void input(String fileUrl,String s1,String s2, int a1,int a2) throws IOException{//产生输入流对象InputStream is=new FileInputStream(fileUrl);//为了处理文件中的汉字InputStreamReader isr=new InputStreamReader(is);//处理文件中的格式BufferedReader br=new BufferedReader(isr);String item =null;while((item= br.readLine())!=null){item=item.replace('\n', ' ');String[] itemAll=item.split("\\|", -1);if(itemAll[3].length()>0&&itemAll[10].equals("2")){//去除第一行if(a2>1){System.out.println(" 符合要求的第"+a2+"个文件:"+s2);}else{System.out.println("第"+a1+"个子文件"+":"+s1+"下\n 符合要求的第"+a2+"个文件:"+s2);}System.out.println( " ->银行代码:"+itemAll[0]+"状态:"+itemAll[10]);}}br.close();System.out.println(" ");}public static void findFile(String filePath) throws IOException{//第一次调用,获取下一级文件所有文件File[] files = new File(filePath).listFiles();//最终路径String fileurl="";//若果有子文件继续读取if(files.length>0){for(int i=0;i<files.length;i++){//一级子文件路径String ff=filePath+"/"+files[i].getName(); int i1=i+1; //组织代码文件包含的文件File[] orangId = new File(ff).listFiles();if(orangId.length>0){int flen=orangId.length;for(int j=0;j<flen;j++){int i2=j+1;fileurl=ff+"/"+orangId[j].getName();//调用方法来读取 传递参数 String s1,s2,int a1input(fileurl,files[i].getName(),orangId[j].getName(),i1,i2);}}}}}public static void main(String[] args) throws IOException {String filePath = "E:/temp/post";//根文件路径findFile(filePath);}
}
如果不知道有几层的话,采用递归调用的方法来测试
package io1;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
public class newSZ {/**读取文件 */public static void input(String fileUrl) throws IOException{//产生输入流对象InputStream is=new FileInputStream(fileUrl);//为了处理文件中的汉字InputStreamReader isr=new InputStreamReader(is);//处理文件中的格式BufferedReader br=new BufferedReader(isr);String item =null;while((item= br.readLine())!=null){item=item.replace('\n', ' ');String[] itemAll=item.split("\\|", -1);if(itemAll[3].length()>0&&itemAll[10].equals("2")){//去除第一行System.out.println( " 符合要求的有->银行代码:"+itemAll[0]+"状态:"+itemAll[10]);}}br.close();System.out.println(" ");}/**递归调用*/public static void findFile2(File ff) throws IOException{//把路径下的子文件列出来File[] files=ff.listFiles();if(files.length>0){System.out.println(ff.getName()+"文件下的子文件:");//遍历数组的每一个File对象int i=1;for (File f : files) {if(f.isDirectory()){//System.out.println(f.getName()+"文件下的子文件:");findFile2(f);}else{System.out.println("\t第"+i+"个子文件:"+f.getName());input(f.getPath());i++;}}}else{System.out.println(ff.getName()+"文件下为空!!!");}
}
public static void main(String[] args) throws IOException {String filePath = "E:/temp";//根文件路径File genFile=new File(filePath);findFile2(genFile);}
}