(1)String , StringBuilder , StringBuffer區(qū)別
String 與StringBuilder的區(qū)別:StringBuilder的是可變的,這意味著可以在創(chuàng)建以后再作修改。
StringBuilder與StringBuffer的區(qū)別: StringBuffer的是同步的,這意味著它是線(xiàn)程安全的,但速度比StringBuilder慢。
(2)為什么為在處理私密信息的時(shí)候,選擇char [ ]比String好?
String是不可改變的。這意味著一旦String對(duì)象被創(chuàng)建,那個(gè)地址上的值將保持不變,直到垃圾收集器有空來(lái)做自動(dòng)清理。而使用char[ ]可以(在用完后)明確地修改它的元素。這種一來(lái),私密信息(例如密碼)就不會(huì)在系統(tǒng)的任何地方出現(xiàn)。
(3)如何快速簡(jiǎn)單統(tǒng)計(jì)某字符在一個(gè)字符串中的出現(xiàn)次數(shù)?
使用apache公共語(yǔ)言包中的StringUtils:
int n = StringUtils.countMatches("11112222", "1");
System.out.println(n);
(4)如何快速的復(fù)制字符串
在Java中,我們可以使用Apache公共語(yǔ)言包(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值以及對(duì)應(yīng)的value值(map中的重復(fù)元素,轉(zhuǎn)化為set輸出后,會(huì)自動(dòng)過(guò)濾掉重復(fù)元素)
Map<String,String> maps = new HashMap<String,String>();
//獲取key的集合Set<String> keySet = maps.keySet();
//遍歷key集合,獲取valuefor(String key : keySet) {
String value= maps.get(key);
}
3.復(fù)制文件(包括文件夾)
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++ ;
}
}
標(biāo)題名稱(chēng):每日記載內(nèi)容總結(jié)26-創(chuàng)新互聯(lián)
文章起源:http://jinyejixie.com/article4/dehdoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站制作、服務(wù)器托管、網(wǎng)站改版、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站營(yíng)銷(xiāo)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容