Java數組操作的10年夜辦法。本站提示廣大學習愛好者:(Java數組操作的10年夜辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是Java數組操作的10年夜辦法正文
早上本想將一些照片上傳到相冊中,然則因為一切照片的擴大名都是JPG而不是小寫的jpg,是以形成了“格局不准確”而不克不及上傳照片。此刻就發生了如許一個成績:應用shell劇本若何批量將一切文件的擴大名JPG都改成小寫的jpg?
既然要批量調換文件名,那末確定得用一個for輪回順次遍歷指定目次下的每一個文件。關於每一個文件,假設該文件的稱號為name.oldext,那末我們必需原始文件名中挖出name,再將它與新的文件擴大名newext拼接構成新的文件名name.newext。按照如許的思緒,就出生了上面的劇本:
#!/bin/bash
oldext="JPG"
newext="jpg"
dir=$(eval pwd)
for file in $(ls $dir | grep .$oldext)
do
name=$(ls $file | cut -d. -f1)
mv $file ${name}.$newext
done
echo "change JPG=====>jpg done!"
上面對針對這個法式作簡略解釋:
1.變量oldext和newext分離指定舊的擴大名和新的擴大名。dir指定文件地點目次;
2.“ls $dir | grep .$oldext”用來在指定目次dir中獲得擴大名為舊擴大名的一切文件;
3.在輪回體內先應用cut敕令將文件名中“.”之前的字符串剪切出來,並賦值給name變量;接著將以後的文件名重定名為新的文件名。
經由過程這個劇本,一切照片的擴大名都勝利修正。為了使這個劇本更具有通用型,我們可以增長幾條read敕令完成劇本和用戶之間的交互。改良版的劇本以下:
#!/bin/bash
read -p "old extension:" oldext
read -p "new extension:" newext
read -p "The directory:" dir
cd $dir
for file in $(ls $dir | grep .$oldext)
do
name=$(ls $file | cut -d. -f1)
mv $file ${name}.$newext
echo "$name.$oldext ====> $name.$newext"
done
echo "all files has been modified."
附:另外一個版本
#!/bin/sh
# file name : rename_suffix.sh
# author: zhouhh
# Email: [email protected]
# Date : 2008.4.1
echo "input what suffix will be replaced :"
read SUFFIX_SRC
echo "input what suffix of file to rename to:"
read SUFFIX_DST
for i in *.$SUFFIX_SRC
do
if [ -e $i ]; then
echo "mv $i to `basename $i .$SUFFIX_SRC`.$SUFFIX_DST"
mv $i `basename $i .$SUFFIX_SRC`.$SUFFIX_DST
else
echo "file does not exist."
exit -1
fi
done
int[] intArray = { 1, 2, 3, 4, 5 }; ArrayUtils.reverse(intArray); System.out.println(Arrays.toString(intArray)); //[5, 4, 3, 2, 1]
仍然用到了全能的ArrayUtils。
10、從數組中移除一個元素
int[] intArray = { 1, 2, 3, 4, 5 }; int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array System.out.println(Arrays.toString(removed));
再彌補一個:將一個int值轉化成byte數組
byte[] bytes = ByteBuffer.allocate(4).putInt(8).array(); for (byte t : bytes) { System.out.format("0x%x ", t); }
英文原文:Top 10 Methods for Java Arrays
翻譯作者:碼農網 – 小峰