程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java編寫的文件治理器代碼分享

java編寫的文件治理器代碼分享

編輯:關於JAVA

java編寫的文件治理器代碼分享。本站提示廣大學習愛好者:(java編寫的文件治理器代碼分享)文章只能為提供參考,不一定能成為您想要的結果。以下是java編寫的文件治理器代碼分享正文


在做shell批處置法式時刻,常常會觸及到字符串相干操作。有許多敕令語句,如:awk,sed都可以做字符串各類操作。 其實shell內置一系列操作符號,可以到達相似後果,年夜家曉得,應用外部操作符會省略啟動內部法式等時光,是以速度會異常的快。

1、斷定讀取字符串值

表達式 寄義 ${var} 變量var的值, 與$var雷同     ${var-DEFAULT} 假如var沒有被聲明, 那末就以$DEFAULT作為其值 * ${var:-DEFAULT} 假如var沒有被聲明, 或許其值為空, 那末就以$DEFAULT作為其值 *     ${var=DEFAULT} 假如var沒有被聲明, 那末就以$DEFAULT作為其值 * ${var:=DEFAULT} 假如var沒有被聲明, 或許其值為空, 那末就以$DEFAULT作為其值 *     ${var+OTHER} 假如var聲清楚明了, 那末其值就是$OTHER, 不然就為null字符串 ${var:+OTHER} 假如var被設置了, 那末其值就是$OTHER, 不然就為null字符串     ${var?ERR_MSG} 假如var沒被聲明, 那末就打印$ERR_MSG * ${var:?ERR_MSG} 假如var沒被設置, 那末就打印$ERR_MSG *     ${!varprefix*} 婚配之前一切以varprefix開首停止聲明的變量 ${!varprefix@} 婚配之前一切以varprefix開首停止聲明的變量

參加了“*” 不是意思是: 固然, 假如變量var曾經被設置的話, 那末其值就是$var.

[chengmo@localhost ~]$ echo ${abc-'ok'}
ok
[chengmo@localhost ~]$ echo $abc

[chengmo@localhost ~]$ echo ${abc='ok'}
ok
[chengmo@localhost ~]$ echo $abc
ok

假如abc 沒有聲明“=" 還會給abc賦值。

[chengmo@localhost ~]$ var1=11;var2=12;var3=
[chengmo@localhost ~]$ echo ${!v@}   
var1 var2 var3
[chengmo@localhost ~]$ echo ${!v*}
var1 var2 var3 

${!varprefix*}與${!varprefix@}類似,可以經由過程變量名前綴字符,搜刮曾經界說的變量,不管能否為空值。

2、字符串操作(長度,讀取,調換)

表達式 寄義 ${#string} $string的長度     ${string:position} 在$string中, 從地位$position開端提取子串 ${string:position:length} 在$string中, 從地位$position開端提取長度為$length的子串     ${string#substring} 從變量$string的開首, 刪除最短婚配$substring的子串 ${string##substring} 從變量$string的開首, 刪除最長婚配$substring的子串 ${string%substring} 從變量$string的開頭, 刪除最短婚配$substring的子串 ${string%%substring} 從變量$string的開頭, 刪除最長婚配$substring的子串     ${string/substring/replacement} 應用$replacement, 來取代第一個婚配的$substring ${string//substring/replacement} 應用$replacement, 取代一切婚配的$substring ${string/#substring/replacement} 假如$string的前綴婚配$substring, 那末就用$replacement來取代婚配到的$substring ${string/%substring/replacement} 假如$string的後綴婚配$substring, 那末就用$replacement來取代婚配到的$substring

解釋:"* $substring”可所以一個正則表達式.

1.長度

[web97@salewell97 ~]$ test='I love china'
[web97@salewell97 ~]$ echo ${#test}
12

${#變量名}獲得字符串長度 

2.截取字串

[chengmo@localhost ~]$ test='I love china'
[chengmo@localhost ~]$ echo ${test:5}  
e china
[chengmo@localhost ~]$ echo ${test:5:10} 
e china

${變量名:肇端:長度}獲得子字符串 

3.字符串刪除

[chengmo@localhost ~]$ test='c:/windows/boot.ini'
[chengmo@localhost ~]$ echo ${test#/}
c:/windows/boot.ini
[chengmo@localhost ~]$ echo ${test#*/}
windows/boot.ini
[chengmo@localhost ~]$ echo ${test##*/}
boot.ini

[chengmo@localhost ~]$ echo ${test%/*} 
c:/windows
[chengmo@localhost ~]$ echo ${test%%/*}

${變量名#substring正則表達式}從字符串開首開端裝備substring,刪除婚配上的表達式。

${變量名%substring正則表達式}從字符串開頭開端裝備substring,刪除婚配上的表達式。

留意:${test##*/},${test%/*} 分離是獲得文件名,或許目次地址最簡略辦法。

4.字符串調換

[chengmo@localhost ~]$ test='c:/windows/boot.ini'
[chengmo@localhost ~]$ echo ${test/\//\\}
c:\windows/boot.ini
[chengmo@localhost ~]$ echo ${test//\//\\}
c:\windows\boot.ini

${變量/查找/調換值} 一個“/”表現調換第一個,”//”表現調換一切,當查找中湧現了:”/”請加本義符”\/”表現。

3、機能比擬

在shell中,經由過程awk,sed,expr 等都可以完成,字符串上述操作。上面我們停止機能比擬。

[chengmo@localhost ~]$ test='c:/windows/boot.ini'
[chengmo@localhost ~]$ time for i in $(seq 10000);do a=${#test};done;

real 0m0.173s
user 0m0.139s
sys 0m0.004s

[chengmo@localhost ~]$ time for i in $(seq 10000);do a=$(expr length $test);done;

real 0m9.734s
user 0m1.628s

速度相差上百倍,挪用內部敕令處置,與內置操作符機能相差異常年夜。在shell編程中,盡可能用內置操作符或許函數完成。應用awk,sed相似會湧現如許成果。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved