public static String readInternUTF(ObjectInput in) throws IOException {
		try {
			boolean b = in.readBoolean();
			if (b) {
				// short c = in.readShort();
				String s = in.readUTF().intern();
				if (s != null && s.length() == 0) {
					return ""; // 减少heap中的""对象
				}
				// if (c == 1) {
				// // byte[] by = new ZipUtil().unzip(s.getBytes());
				// // String bs = new String(by);
				// // return bs;
				// StringBuffer bs = new StringBuffer();
				// int block = in.readInt();
				// int then = in.readInt();
				// int i = 0;
				// for (; i < block; i++) {
				// bs.append(in.readUTF());
				// }
				// if (then > 0)
				// bs.append(in.readUTF());
				// return bs.toString();
				// } else {
				return s;
				// }
			} else {
				return null;
			}
		} catch (java.io.UTFDataFormatException ex) {
			throw new IOException("数据过长", ex);
		} catch (IOException ex) {
			throw ex;
		} catch (Throwable e) {
			throw new RuntimeException(e.getCause());
		}
	}