public static void writeUTF(ObjectOutput out, String s) throws IOException {
		try {
			boolean b = (s != null);
			out.writeBoolean(b);
			if (b) {
				// if (s.length() > ZIP_SIZE) {
				// out.writeShort(1);
				// // byte[] by = new ZipUtil().zip(s.getBytes());
				// // int block = by.length / BLOCK_SIZE;
				// // if (by.length % BLOCK_SIZE > 0) {
				// // block++;
				// // }
				// // out.writeInt(block);
				// // for (int i = 0; i < block; i++) {
				// // String bs = new String(by);
				// // out.writeUTF(bs);
				// // }
				// int block = s.length() / BLOCK_SIZE;
				// int then = s.length() % BLOCK_SIZE;
				// out.writeInt(block);
				// out.writeInt(then);
				// int i = 0;
				// for (; i < block; i++) {
				// String bs = s.substring(i * BLOCK_SIZE, (i + 1)
				// * BLOCK_SIZE);
				// out.writeUTF(bs);
				// out.flush();
				// }
				// if (then > 0) {
				// String bs = s.substring(i * BLOCK_SIZE, i * BLOCK_SIZE
				// + then);
				// out.writeUTF(bs);
				// }
				// } else {
				// out.writeShort(0);
				out.writeUTF(s);
				// }
			}
			out.flush();
		} catch (java.io.UTFDataFormatException ex) {
			throw new IOException("数据过长:" + s.length(), ex);
		} catch (IOException ex) {
			throw ex;
		} catch (Throwable e) {
			throw new RuntimeException(e.getCause());
		}
	}