一 :
while循环中最好不要放执行时间过长的逻辑。所以如何做到分离呢。可以利用容器类,例如工作中遇到一个情况,先读取一个文件中的内容,然后每读到一条去判断 是否符合条件,符合了就执行一段长时逻辑,否则就不执行。
正常可以这样
BufferReader br = new BufferReader(new FileReader(new File("aaaa")));
String str = ""
while((str = br.readline()) != null){
if(str.equal("xxxx")){
break;
}else{
//一系列的操作
}
}
但是这样的话,读文件的进程就始终在进行。
所以我的思路是把读到的内容放入到例如set的容器类里,立即读完文件后,关闭流,内容读到内容里,再进行之后的一系列的逻辑。
BufferReader br = new BufferReader(new FileReader(enw File("aaaa")));
HashSet<String> sets = new HashSet<String>();
String str = "";
while((str = br.readline()) != null){
sets.add(str);
}
br.close();
if(sets.contains("xxxx")){
//一系列逻辑
}
二 : sed
把 .0 在一段逻辑中去掉
1231341.012312414.012313.01314.0123124
sed命令
sed -i 's/\.0//g' aaa.txt
把逗号分割符替换为不可见0005分割符
sed -i 's/,/\x05/g'