public List<IPEntry> getIPEntries2(String s) {
		List<IPEntry> ret =new ArrayList<IPEntry>();
		if (mbb ==null) {
			try {
				mbb =ipFile.getChannel().map(FileChannel.MapMode.READ_ONLY, 0, ipFile.length());
				mbb.order(ByteOrder.LITTLE_ENDIAN);
				for (int offset =(int)ipBegin +4; offset <=(int)ipEnd +4; offset +=IP_RECORD_LENGTH) {
					int recordOffset =readInt3(offset);
					if (recordOffset ==-1) continue;
					IPLocation ipLoc =getIPLocation(recordOffset);
					String c =ipLoc.getCountry();
					String a =ipLoc.getArea();
					if (c !=null && a !=null && (c.indexOf(s) !=-1 || a.indexOf(s) !=-1)) {
						IPEntry entry =new IPEntry();
						entry.country =ipLoc.getCountry();
						entry.area =ipLoc.getArea();
						readIP(offset -4, b4);
						entry.beginIp =IPUtil.getIpString(b4);
						readIP(recordOffset, b4);
						entry.endIp =IPUtil.getIpString(b4);
						ret.add(entry);
						System.out.println(entry);
					}
				}
				System.out.println("总计：" +ret.size());
			} catch (IOException e) {
				LogFactory.log("文件映射缓存失败！", Level.WARNING, e);
			}
		}
		return ret;
	}