zoukankan      html  css  js  c++  java
  • 每日记载内容总结26

    1.String部分知识:(详细讲解请见http://blog.csdn.net/qianzhiyong111/article/details/6600872)

    (1)String , StringBuilder , StringBuffer区别

        String 与StringBuilder的区别:StringBuilder的是可变的,这意味着可以在创建以后再作修改。
        StringBuilder与StringBuffer的区别: StringBuffer的是同步的,这意味着它是线程安全的,但速度比StringBuilder慢。

    (2)为什么为在处理私密信息的时候,选择char [ ]比String好?

    String是不可改变的。这意味着一旦String对象被创建,那个地址上的值将保持不变,直到垃圾收集器有空来做自动清理。而使用char[ ]可以(在用完后)明确地修改它的元素。这种一来,私密信息(例如密码)就不会在系统的任何地方出现。

    (3)如何快速简单统计某字符在一个字符串中的出现次数?

    使用apache公共语言包中的StringUtils:

    int n = StringUtils.countMatches("11112222", "1");
    System.out.println(n);

    (4)如何快速的复制字符串

    在Java中,我们可以使用Apache公共语言包(Apache Commons Lang package)中的repeat()。    
    String str = "abcd";
    String repeated = StringUtils.repeat(str,3);
    //abcdabcdabcd

    (4)split方法可以按照字符串切割

    String ss = "aaasearchbbb";
    System.out.println(ss.split("search")[1]);
    //bbb

    2.获取map的key值以及对应的value值(map中的重复元素,转化为set输出后,会自动过滤掉重复元素)

    Map<String,String> maps = new HashMap<String,String>();
    //获取key的集合
    Set<String> keySet = maps.keySet();
    //遍历key集合,获取value
    for(String key : keySet) {
        String value = maps.get(key);
    }

    3.复制文件(包括文件夹)

    package testFille;
    
    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.IOException;
    
    public class TestCopyFile {
        public static void copy(File sourceFile, File targetFile) {
            BufferedInputStream bInputStream = null;
            BufferedOutputStream bOutputStream = null;
            try {
                bInputStream = new BufferedInputStream(new FileInputStream(
                        sourceFile));
                bOutputStream = new BufferedOutputStream(new FileOutputStream(
                        targetFile));
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            byte[] b = new byte[1024 * 5];
            int len;
            try {
                while ((len = bInputStream.read(b)) != -1) {
                    bOutputStream.write(b, 0, len);
                }
                bOutputStream.flush();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                bInputStream.close();
                bOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    bInputStream.close();
                    bOutputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    
        }
    
        public static void copyDir(String sourceFile, String targetFile) {
            new File(targetFile).mkdirs();
            File souFile = new File(sourceFile);
            if (souFile.isDirectory()) {
                File[] files = souFile.listFiles();
                for (int i = 0; i < files.length; i++) {
                    if (files[i].isFile()) {
                        File tarFile = new File(targetFile + File.separator
                                + files[i].getName());
                        copy(files[i], tarFile);
                    } else if (files[i].isDirectory()) {
                        String dir1 = sourceFile + "/" + files[i].getName();
                        String dir2 = targetFile + "/" + files[i].getName();
                        copyDir(dir1, dir2);
                    }
                }
            }else {
                System.out.println("only file , no directory");
                File tarFile = new File(targetFile + File.separator
                        + new File(sourceFile).getName());
                copy(new File(sourceFile), tarFile);
            }
        }
    
        public static void main(String[] args) {
            copyDir("E://helloworld//user.xml", "E://hhhh//VVV");
        }
    }

    4.删除文件夹

    public static void del(File f){
            if (f.exists() && f.isDirectory()) {
                if (f.listFiles().length == 0) {
                    f.delete(); 
                } else {
                    File delFile[] = f.listFiles();
                    int i = f.listFiles().length;
                    for (int j = 0; j < i; j++) {
                        if (delFile[j].isDirectory()) {
                            del(delFile[j]);
                        }
                        delFile[j].delete();
                    }
                }
            }
        }

    5.查找文件夹里面所有文件

    public static int flag = 0;
    
        public static void fetchAllFiles(File file) {
            if (file.isDirectory()) {
                File[] files2 = file.listFiles();
                for (int i = 0; i < files2.length; i++) {
                    if (files2[i].isFile()) {
                        flag++ ;
                        System.out.println(files2[i].getAbsolutePath() + "---"
                                + files2[i].getName());
                    } else {
                        fetchAllFiles(files2[i]);
                    }
                }
            } else {
                System.out.println(file.getAbsolutePath() + "---" + file.getName());
                flag++ ;
            }
        }
  • 相关阅读:
    Steady Cow Assignment POJ
    二分图多重匹配问题
    Tour HDU
    奔小康赚大钱 HDU
    Strategic Game HDU
    Antenna Placement POJ
    Oil Skimming HDU
    Rain on your Parade HDU
    假如,
    这样也可以,insert,,
  • 原文地址:https://www.cnblogs.com/cuiyf/p/3444403.html
Copyright © 2011-2022 走看看