public void load(InputStream is) throws IOException {
% H1 T, S' s: ]2 D6 D5 k& k) U this.load(is, "ISO8859_1");
$ f* ]1 ^+ v5 ~) \4 p$ {8 N }, j- @, Z1 J8 F* y- D6 T8 |
public void load(InputStream is, String enc) throws IOException { Reader reader = new InputStreamReader(is, enc);0 s* r# I& \$ F ], Z; ]5 w
boolean reading = true;1 [+ o n; N9 R) W
StringBuffer buf = new StringBuffer();
5 f9 ^( z3 R% _ R while (reading) {
! N1 H# { H( D: C1 o$ z int c = reader.read();
) t+ v( ]8 P6 z- _$ b switch (c) {
" r+ v0 Y" j; s2 o case -1:6 k, b% Y: C0 o1 N* ? R# [8 ^
reading = false;) d+ A0 _* q+ r# S& N
break;
) g2 l7 j% I; Z( I case (int)'r':
- S' |4 s. J0 _5 f1 @1 ]. z3 \ break;
" C( [* J6 K+ L case (int)'n':
" I- Y: z% w5 I1 H Object[] pair = parseLine(buf.toString()); if (pair != null) { this.put(pair[0], pair[1]);* e) y; Q" ?9 N( B1 r# g7 v
}* q2 Z* f5 z. z, j) U$ i/ c8 t. x
buf.setLength(0);- G1 |, {$ X+ U+ S+ r* P* u
break;4 q8 d% l1 y6 Q
default:- N' a- L7 L9 F8 K. n
buf.append((char)c);
! v! b! [8 D j }
3 x# o3 ?- C. f% H! u5 ~* _2 d( } j }# i2 N0 Y6 E- B* y- F
Object[] pair = parseLine(buf.toString()); if (pair != null) { this.put(pair[0], pair[1]);
; o( w+ `0 X7 W2 z( B }
7 |* V( e8 R: |- L }
( p9 B6 N" ` R# |% { public void store(OutputStream out, String header) throws IOException { this.store(out, "ISO8859_1", header);; F/ B8 s4 V, j6 \" a1 B
}$ s$ f/ c7 k" Z/ W0 `$ m$ P+ S
public void store(OutputStream out, String enc, String header) throws IOException { Writer writer = new OutputStreamWriter(out, enc); if (header != null) { writer.write("#"+header+"n");
- Q3 a$ F9 R! ~5 g* A4 \1 L" q% r }
8 {# v1 \3 T; V Enumeration e = this.keys(); while (e.hasMoreElements()) { Object key = e.nextElement(); String value = (String)this.get(key); //writer.write(key+"="+rconvUnicode(value)+"n"); writer.write(key+"="+value+"n");1 f6 q7 z: m. S# T1 _: }
}5 u' X& a" | U' E8 I
} |