zoukankan      html  css  js  c++  java
  • JAVA实现文件遍历

    不知道为什么偏爱于文件遍历

    package xiya;
    
    import java.io.*;
    import java.util.*;
    
    public class WinSearch {
    	private String fileName[];
    	private int count = 0;
    	WinSearch(){
    		fileName = new String[100000];
    	};
    	
    	void winSearch(File file){
    		
    		if(file.isDirectory()){
    			System.out.println("<" + file.getAbsolutePath() + ">");
    			fileName[count++] = "<" + file.getAbsolutePath() + ">";
    			String filename[] = file.list();
    			for(int i = 0; i < filename.length; i++){
    				File temp = new File(file.getAbsoluteFile() + "\\" + filename[i]);
    				if(temp.isDirectory()){
    					winSearch(temp);
    				}
    				else{
    					System.out.println(filename[i]);
    					fileName[count++] = filename[i];
    				}
    			}
    		}
    		else{
    			System.out.println(file);
    			fileName[count++] = file.toString();
    		}
    	}
    	public static void main(String[] args) {
    		
    //		Scanner cin = new Scanner(System.in);
    //		String string = cin.next();
    //		File file = new File(string);
    //		WinSearch win = new WinSearch();//命令行输入
    //		win.WinSearch(file);
    		
    		WinSearch win = new WinSearch();  //缓冲区输入
    		
    		File in = new File("D:\\JAVA\\test\\文件遍历\\in.txt");
    		File out = new File("D:\\JAVA\\test\\文件遍历\\out.txt");
    		try{	
    			FileReader inOne = new FileReader(in);
    			BufferedReader inTwo = new BufferedReader(inOne);
    			String string = null;
    			while((string=inTwo.readLine()) != null){
    				win.winSearch(new File(string));
    			}
    			inOne.close();
    			inTwo.close();
    			
    			FileWriter outOne = new FileWriter(out);
    			BufferedWriter outTwo = new BufferedWriter(outOne);
    			for(int i = 0; i < win.count; i++){
    				outTwo.write(win.fileName[i]);
    				outTwo.newLine();
    			}
    			outOne.flush();//旧版本中没有刷新缓冲区,抛出异常=。=
    			outTwo.flush();
    			outOne.close();
    			outTwo.close();
    		}
    		catch (IOException e) {
    			System.out.println(e);
    		}
    	}
    
    }
    


  • 相关阅读:
    [C++] socket
    [C++] socket
    2014-3-16 星期天 晴[改变生活规律,稳中求进]
    [C++] socket
    [C++] socket
    [ACM_水题] Yet Another Story of Rock-paper-scissors [超水 剪刀石头布]
    easyui datagrid如何获取到每行的文本框
    JS传递数组到后台
    如何将js的object对象传到后台--->JavaScript之对象序列化
    EasyUI常用控件禁用方法
  • 原文地址:https://www.cnblogs.com/lgh1992314/p/5835261.html
Copyright © 2011-2022 走看看