zoukankan      html  css  js  c++  java
  • java基础:12.8 综合练习

    1、复制文件是常见的IO操作,设计如下方法,实现复制源文件srcFile到目标文件destFile

    public static void copyFile(String srcFile, String destFile){
    }

    	/**
    	 * 复制文件
    	 * @param srcFile 原文件/地址
    	 * @param destFile 复制后的文件/地址
    	 */
    	public static void copyFile(String srcFile, String destFile){
    	
    		File f = new File(srcFile);
    		File fout = new File(destFile);
    		if(fout.canExecute())
    			fout.delete();
    		
    		try(FileInputStream fis = new FileInputStream(f);
    			FileOutputStream fos = new FileOutputStream(fout))
    		{
    			 byte[] all = new byte[(int)f.length()];
    			 fis.read(all);
    			 fos.write(all);	 
    		}
            catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }	
    	}
    

     
     

    2、复制文件夹,实现如下方法,把源文件夹下所有的文件 复制到目标文件夹下(包括子文件夹)

    public static void copyFolder(String srcFolder, String destFolder){
    }

        /**
                * 拷贝文件夹
         * @param srcFolder 要拷贝的文件夹
         * @param destFolder 目的地文件夹
         */
    	public static void copyFolder(String srcFolder, String destFolder){
    		File file = new File(srcFolder);
    		try {
    			for(File x:file.listFiles()) {
    				if(x.isFile()) {
    					new File(destFolder + "\" + x.getName()).getParentFile().mkdirs();
    					copyFile(x.getAbsolutePath(),destFolder+"\"+x.getName());
    				}
    				if(x.isDirectory()) {
    					new File(destFolder + "\" + x.getName()).getParentFile().mkdirs();
    					copyFolder(x.getAbsolutePath(), destFolder + "\" + x.getName());
    				}
    			}
    		}
    		catch (Exception e) {
                e.printStackTrace();
            }
    	}
    

     
     

    3、假设你的项目目录是 e:/project,遍历这个目录下所有的java文件(包括子文件夹),找出文件内容包括main的那些文件,并打印出来。

    public static void search(File folder, String search);

    /**
    	 * 在搜索文件夹搜索指定内容
    	 * @param folder 指定搜索的文件夹
    	 * @param search 搜索关键字
    	 */
    	public static void search(File folder, String search) {
    
    		if(folder.exists()) {
    			File[] file = folder.listFiles();
    			try {
    				for(File listfile : file) {
    					if(listfile.isFile()) {
    					FileReader fr = new FileReader(listfile);
    					int len = 0;
    					char[] ch = new char[1024];
    					while((len=fr.read(ch))!= -1) {
    						String str = String.valueOf(ch);
    						if(str.contains(search)) 
                                System.out.println("找到子目标字符串"+search+",在文件:"+listfile.getAbsolutePath());
    					}
    					fr.close();
    				}
    				else
    					search(listfile,search);
    				}
    			}
    			catch (Exception e) {
    	            e.printStackTrace();
    	        }
    		}
    		else
                System.out.println("文件错误。"); 
    	}
    
  • 相关阅读:
    NIO中几个非常重要的技术点
    NIO的epoll空轮询bug
    mysql支持跨表删除多条记录
    使用Fastjson生成Json字符串少字段属性(数据丢失)
    Linux系统下安装rz/sz命令及使用说明
    Slave_SQL_Running: No mysql同步故障
    二次幂权限设计
    spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)
    XStream别名;元素转属性;去除集合属性(剥皮);忽略不需要元素
    JDBC通用DAO
  • 原文地址:https://www.cnblogs.com/l20902/p/10610880.html
Copyright © 2011-2022 走看看