每日记载内容总结26-创新互联

1.String部分知识:(详细讲解请见http://blog.csdn.net/qianzhiyong111/article/details/6600872)每日记载内容总结26

(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 maps = new HashMap();
//获取key的集合Set keySet = maps.keySet();
//遍历key集合,获取valuefor(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++ ;
        }
    }

标题名称:每日记载内容总结26-创新互联
分享路径:http://myzitong.com/article/dehdoe.html