Skip to content

Commit 9395849

Browse files
committed
Add ch19 code
1 parent b7c9884 commit 9395849

File tree

82 files changed

+1685
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+1685
-0
lines changed

code/chapter19/.idea/.gitignore

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

code/chapter19/.idea/misc.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

code/chapter19/.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Diagram>
3+
<ID>JAVA</ID>
4+
<OriginalElement>java.io.BufferedInputStream</OriginalElement>
5+
<nodes>
6+
<node x="13.5" y="285.0">java.io.FilterInputStream</node>
7+
<node x="0.0" y="380.0">java.io.BufferedInputStream</node>
8+
<node x="68.0" y="95.0">java.io.Closeable</node>
9+
<node x="41.0" y="0.0">java.lang.AutoCloseable</node>
10+
<node x="54.5" y="190.0">java.io.InputStream</node>
11+
</nodes>
12+
<notes />
13+
<edges>
14+
<edge source="java.io.InputStream" target="java.io.Closeable">
15+
<point x="0.0" y="-22.5" />
16+
<point x="0.0" y="22.5" />
17+
</edge>
18+
<edge source="java.io.Closeable" target="java.lang.AutoCloseable">
19+
<point x="0.0" y="-22.5" />
20+
<point x="0.0" y="22.5" />
21+
</edge>
22+
<edge source="java.io.BufferedInputStream" target="java.io.FilterInputStream">
23+
<point x="0.0" y="-22.5" />
24+
<point x="0.0" y="22.5" />
25+
</edge>
26+
<edge source="java.io.FilterInputStream" target="java.io.InputStream">
27+
<point x="0.0" y="-22.5" />
28+
<point x="0.0" y="22.5" />
29+
</edge>
30+
</edges>
31+
<settings layout="Hierarchic Group" zoom="0.9127659574468084" x="310.5000000000001" y="413.00000000000006" />
32+
<SelectedNodes />
33+
<Categories />
34+
<SCOPE>All</SCOPE>
35+
<VISIBILITY>private</VISIBILITY>
36+
</Diagram>
37+

code/chapter19/FileReader.uml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Diagram>
3+
<ID>JAVA</ID>
4+
<OriginalElement>java.io.FileReader</OriginalElement>
5+
<nodes>
6+
<node x="102.25" y="95.0">java.io.Closeable</node>
7+
<node x="306.25" y="95.0">java.lang.Readable</node>
8+
<node x="48.0" y="380.0">java.io.FileReader</node>
9+
<node x="313.0" y="285.0">java.io.BufferedReader</node>
10+
<node x="221.25" y="190.0">java.io.Reader</node>
11+
<node x="0.0" y="285.0">java.io.InputStreamReader</node>
12+
<node x="75.25" y="0.0">java.lang.AutoCloseable</node>
13+
</nodes>
14+
<notes />
15+
<edges>
16+
<edge source="java.io.Reader" target="java.io.Closeable">
17+
<point x="-35.75" y="-22.5" />
18+
<point x="257.0" y="165.0" />
19+
<point x="194.25" y="165.0" />
20+
<point x="0.0" y="22.5" />
21+
</edge>
22+
<edge source="java.io.Reader" target="java.lang.Readable">
23+
<point x="35.75" y="-22.5" />
24+
<point x="328.5" y="165.0" />
25+
<point x="391.25" y="165.0" />
26+
<point x="0.0" y="22.5" />
27+
</edge>
28+
<edge source="java.io.InputStreamReader" target="java.io.Reader">
29+
<point x="0.0" y="-22.5" />
30+
<point x="146.5" y="260.0" />
31+
<point x="257.0" y="260.0" />
32+
<point x="-35.75" y="22.5" />
33+
</edge>
34+
<edge source="java.io.BufferedReader" target="java.io.Reader">
35+
<point x="0.0" y="-22.5" />
36+
<point x="439.0" y="260.0" />
37+
<point x="328.5" y="260.0" />
38+
<point x="35.75" y="22.5" />
39+
</edge>
40+
<edge source="java.io.Closeable" target="java.lang.AutoCloseable">
41+
<point x="0.0" y="-22.5" />
42+
<point x="0.0" y="22.5" />
43+
</edge>
44+
<edge source="java.io.FileReader" target="java.io.InputStreamReader">
45+
<point x="0.0" y="-22.5" />
46+
<point x="0.0" y="22.5" />
47+
</edge>
48+
</edges>
49+
<settings layout="Hierarchic Group" zoom="1.0" x="282.5" y="212.5" />
50+
<SelectedNodes>
51+
<node>java.io.FileReader</node>
52+
</SelectedNodes>
53+
<Categories />
54+
<SCOPE>All</SCOPE>
55+
<VISIBILITY>private</VISIBILITY>
56+
</Diagram>
57+

code/chapter19/FileWriter.uml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Diagram>
3+
<ID>JAVA</ID>
4+
<OriginalElement>java.io.FileWriter</OriginalElement>
5+
<nodes>
6+
<node x="735.0" y="371.0">java.io.BufferedWriter</node>
7+
<node x="562.75" y="95.0">java.lang.Appendable</node>
8+
<node x="983.75" y="95.0">java.io.Closeable</node>
9+
<node x="489.99999999999994" y="371.0">java.io.StringWriter</node>
10+
<node x="101.0" y="552.0">java.io.FileWriter</node>
11+
<node x="781.0" y="190.0">java.io.Writer</node>
12+
<node x="0.0" y="343.0">java.io.OutputStreamWriter</node>
13+
<node x="1308.0" y="371.0">java.io.CharArrayWriter</node>
14+
<node x="956.75" y="0.0">java.lang.AutoCloseable</node>
15+
<node x="1022.0" y="371.0">java.io.PipedWriter</node>
16+
<node x="779.75" y="95.0">java.io.Flushable</node>
17+
</nodes>
18+
<notes />
19+
<edges>
20+
<edge source="java.io.Writer" target="java.io.Closeable">
21+
<point x="58.33333333333337" y="-51.5" />
22+
<point x="926.8333333333333" y="165.0" />
23+
<point x="1075.75" y="165.0" />
24+
<point x="0.0" y="22.5" />
25+
</edge>
26+
<edge source="java.io.StringWriter" target="java.io.Writer">
27+
<point x="0.0" y="-51.5" />
28+
<point x="602.5" y="323.0" />
29+
<point x="833.5" y="323.0" />
30+
<point x="-35.0" y="51.5" />
31+
</edge>
32+
<edge source="java.io.BufferedWriter" target="java.io.Writer">
33+
<point x="0.0" y="-51.5" />
34+
<point x="0.0" y="51.5" />
35+
</edge>
36+
<edge source="java.io.FileWriter" target="java.io.OutputStreamWriter">
37+
<point x="0.0" y="-93.5" />
38+
<point x="0.0" y="79.5" />
39+
</edge>
40+
<edge source="java.io.Writer" target="java.io.Flushable">
41+
<point x="0.0" y="-51.5" />
42+
<point x="868.5" y="165.0" />
43+
<point x="871.75" y="165.0" />
44+
<point x="0.0" y="22.5" />
45+
</edge>
46+
<edge source="java.io.PipedWriter" target="java.io.Writer">
47+
<point x="0.0" y="-51.5" />
48+
<point x="1155.0" y="323.0" />
49+
<point x="903.5" y="323.0" />
50+
<point x="35.0" y="51.5" />
51+
</edge>
52+
<edge source="java.io.Closeable" target="java.lang.AutoCloseable">
53+
<point x="0.0" y="-22.5" />
54+
<point x="0.0" y="22.5" />
55+
</edge>
56+
<edge source="java.io.OutputStreamWriter" target="java.io.Writer">
57+
<point x="0.0" y="-79.5" />
58+
<point x="235.0" y="313.0" />
59+
<point x="798.5" y="313.0" />
60+
<point x="-70.0" y="51.5" />
61+
</edge>
62+
<edge source="java.io.Writer" target="java.lang.Appendable">
63+
<point x="-58.33333333333337" y="-51.5" />
64+
<point x="810.1666666666665" y="165.0" />
65+
<point x="661.25" y="165.0" />
66+
<point x="0.0" y="22.5" />
67+
</edge>
68+
<edge source="java.io.CharArrayWriter" target="java.io.Writer">
69+
<point x="0.0" y="-51.5" />
70+
<point x="1441.0" y="313.0" />
71+
<point x="938.5" y="313.0" />
72+
<point x="70.0" y="51.5" />
73+
</edge>
74+
</edges>
75+
<settings layout="Hierarchic Group" zoom="0.8323529411764706" x="702.0" y="212.5" />
76+
<SelectedNodes>
77+
<node>java.io.BufferedWriter</node>
78+
</SelectedNodes>
79+
<Categories>
80+
<Category>Constructors</Category>
81+
</Categories>
82+
<SCOPE>All</SCOPE>
83+
<VISIBILITY>private</VISIBILITY>
84+
</Diagram>
85+

code/chapter19/InputStream.uml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Diagram>
3+
<ID>JAVA</ID>
4+
<OriginalElement>java.io.InputStream</OriginalElement>
5+
<nodes>
6+
<node x="272.5000000000001" y="380.0">java.io.BufferedInputStream</node>
7+
<node x="325.6527777777778" y="95.0">java.io.Closeable</node>
8+
<node x="0.0" y="285.0">java.io.FileInputStream</node>
9+
<node x="506.625" y="0.0">java.lang.AutoCloseable</node>
10+
<node x="312.1527777777778" y="190.0">java.io.InputStream</node>
11+
<node x="286.00000000000006" y="285.0">java.io.FilterInputStream</node>
12+
<node x="599.0" y="285.0">java.io.ObjectInputStream</node>
13+
</nodes>
14+
<notes />
15+
<edges>
16+
<edge source="java.io.FilterInputStream" target="java.io.InputStream" relationship="TO_ONE">
17+
<point x="-12.847000000000037" y="-18.5" />
18+
<point x="-14.999777777777808" y="18.5" />
19+
</edge>
20+
<edge source="java.io.InputStream" target="java.io.Closeable" relationship="DEPENDENCY">
21+
<point x="-89.99977777777781" y="0.0" />
22+
<point x="250.0" y="208.5" />
23+
<point x="250.0" y="113.5" />
24+
<point x="-78.49977777777781" y="0.0" />
25+
</edge>
26+
<edge source="java.io.FileInputStream" target="java.io.InputStream" relationship="DEPENDENCY">
27+
<point x="0.0" y="-18.5" />
28+
<point x="106.5" y="256.0" />
29+
<point x="402.153" y="256.0" />
30+
<point x="2.2222222219170362E-4" y="18.5" />
31+
</edge>
32+
<edge source="java.io.ObjectInputStream" target="java.io.InputStream" relationship="DEPENDENCY">
33+
<point x="0.0" y="-18.5" />
34+
<point x="720.5" y="256.0" />
35+
<point x="402.153" y="256.0" />
36+
<point x="2.2222222219170362E-4" y="18.5" />
37+
</edge>
38+
<edge source="java.io.BufferedInputStream" target="java.io.FilterInputStream" relationship="DEPENDENCY">
39+
<point x="-4.000000000000057" y="-18.5" />
40+
<point x="0.0" y="18.5" />
41+
</edge>
42+
<edge source="java.io.Closeable" target="java.lang.AutoCloseable" relationship="DEPENDENCY">
43+
<point x="0.0" y="-18.5" />
44+
<point x="404.1527777777778" y="18.5" />
45+
<point x="-101.5" y="0.0" />
46+
</edge>
47+
<edge source="java.io.BufferedInputStream" target="java.io.InputStream" relationship="DEPENDENCY">
48+
<point x="127.49999999999989" y="-18.5" />
49+
<point x="531.5" y="256.0" />
50+
<point x="402.153" y="256.0" />
51+
<point x="2.2222222219170362E-4" y="18.5" />
52+
</edge>
53+
</edges>
54+
<settings layout="Hierarchic" zoom="1.25" showDependencies="true" x="498.0" y="244.2" />
55+
<SelectedNodes />
56+
<Categories />
57+
<SCOPE>All</SCOPE>
58+
<VISIBILITY>private</VISIBILITY>
59+
</Diagram>
60+

code/chapter19/OutputStream.uml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Diagram>
3+
<ID>JAVA</ID>
4+
<OriginalElement>java.io.OutputStream</OriginalElement>
5+
<nodes>
6+
<node x="81.49999999999997" y="190.0">java.io.OutputStream</node>
7+
<node x="204.0" y="95.0">java.io.Closeable</node>
8+
<node x="54.49999999999994" y="285.0">java.io.FileOutputStream</node>
9+
<node x="177.0" y="0.0">java.lang.AutoCloseable</node>
10+
<node x="0.0" y="95.0">java.io.Flushable</node>
11+
</nodes>
12+
<notes />
13+
<edges>
14+
<edge source="java.io.Closeable" target="java.lang.AutoCloseable">
15+
<point x="0.0" y="-22.5" />
16+
<point x="0.0" y="22.5" />
17+
</edge>
18+
<edge source="java.io.FileOutputStream" target="java.io.OutputStream">
19+
<point x="2.8421709430404007E-14" y="-22.5" />
20+
<point x="0.0" y="22.5" />
21+
</edge>
22+
<edge source="java.io.OutputStream" target="java.io.Flushable">
23+
<point x="-56.24999999999997" y="-22.5" />
24+
<point x="137.75" y="165.0" />
25+
<point x="92.0" y="165.0" />
26+
<point x="0.0" y="22.5" />
27+
</edge>
28+
<edge source="java.io.OutputStream" target="java.io.Closeable">
29+
<point x="56.25000000000003" y="-22.5" />
30+
<point x="250.25" y="165.0" />
31+
<point x="296.0" y="165.0" />
32+
<point x="0.0" y="22.5" />
33+
</edge>
34+
</edges>
35+
<settings layout="Hierarchic Group" zoom="1.0" x="207.5" y="165.0" />
36+
<SelectedNodes>
37+
<node>java.io.FileOutputStream</node>
38+
</SelectedNodes>
39+
<Categories />
40+
<SCOPE>All</SCOPE>
41+
<VISIBILITY>private</VISIBILITY>
42+
</Diagram>
43+

code/chapter19/chapter19.iml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager" inherit-compiler-output="true">
4+
<exclude-output />
5+
<content url="file://$MODULE_DIR$">
6+
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
7+
</content>
8+
<orderEntry type="inheritedJdk" />
9+
<orderEntry type="sourceFolder" forTests="false" />
10+
<orderEntry type="module-library">
11+
<library name="JUnit5.4">
12+
<CLASSES>
13+
<root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter/5.4.2/junit-jupiter-5.4.2.jar!/" />
14+
<root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-api/5.4.2/junit-jupiter-api-5.4.2.jar!/" />
15+
<root url="jar://$MAVEN_REPOSITORY$/org/apiguardian/apiguardian-api/1.0.0/apiguardian-api-1.0.0.jar!/" />
16+
<root url="jar://$MAVEN_REPOSITORY$/org/opentest4j/opentest4j/1.1.1/opentest4j-1.1.1.jar!/" />
17+
<root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-commons/1.4.2/junit-platform-commons-1.4.2.jar!/" />
18+
<root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-params/5.4.2/junit-jupiter-params-5.4.2.jar!/" />
19+
<root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-engine/5.4.2/junit-jupiter-engine-5.4.2.jar!/" />
20+
<root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-engine/1.4.2/junit-platform-engine-1.4.2.jar!/" />
21+
</CLASSES>
22+
<JAVADOC />
23+
<SOURCES />
24+
</library>
25+
</orderEntry>
26+
<orderEntry type="module-library">
27+
<library name="JUnit5.8.1">
28+
<CLASSES>
29+
<root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter/5.8.1/junit-jupiter-5.8.1.jar!/" />
30+
<root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-api/5.8.1/junit-jupiter-api-5.8.1.jar!/" />
31+
<root url="jar://$MAVEN_REPOSITORY$/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar!/" />
32+
<root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-commons/1.8.1/junit-platform-commons-1.8.1.jar!/" />
33+
<root url="jar://$MAVEN_REPOSITORY$/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar!/" />
34+
<root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-params/5.8.1/junit-jupiter-params-5.8.1.jar!/" />
35+
<root url="jar://$MAVEN_REPOSITORY$/org/junit/jupiter/junit-jupiter-engine/5.8.1/junit-jupiter-engine-5.8.1.jar!/" />
36+
<root url="jar://$MAVEN_REPOSITORY$/org/junit/platform/junit-platform-engine/1.8.1/junit-platform-engine-1.8.1.jar!/" />
37+
</CLASSES>
38+
<JAVADOC />
39+
<SOURCES />
40+
</library>
41+
</orderEntry>
42+
</component>
43+
</module>
Binary file not shown.

0 commit comments

Comments
 (0)