java fundamental classes reference
TRANSCRIPT
Java Fundamental Classes Reference
Mark Grand and Jonathan Knudsen
O'REILLY Cambridge • Köln • Paris • Sebastopol • Tokyo
Table of Contents
Preface xv
1. Introduction 1 1.1 The java.lang Package 2
1.2 The java.lang.reflect Package 3
1.3 The java.io Package 3
1.4 Thejava.net Package 5
1.5 The java.util Package 5
1.6 The java.text Package 6
1.7 The java.math Package ...-. 7
1.8 The javautil.zip Package 7
1. USING THE FUNDAMENTAL CLASSES 9
2. Strings and Related Classes 11
2.1 String 11
2.2 StringBuffer 13
2.3 String Concatenation 14
2.4 StringTokenizer 15
3. Threads 17
3.1 Using Thread Objects 18
3.2 Synchronizing Multiple Threads 24
v
VI TABLE OF CONTENTS
4. Exception Handling 32
4.1 Handling Exceptions 32
4.2 Declaring Exceptions ., 33
4.3 Generating Exceptions 35
5. Collections 39
5.1 Enumerations 39
5.2 Vectors 40
5.3 Stacks 42
5.4 Hashtables ,. , 42
6. I/O 46
6.1 Input Streams and Readers 46
6.2 Output Streams and Writers 55
6.3 File Manipulation 63
7. Object Serialization 67
7.1 Object Serialization Basics , 67
7.2 Writing Classes to Work with Serialization . 68
7.3 Versioning of Classes . 71
8. Networking 75
8.1 Sockets 75
8.2 URL Objects 85
9. Security 89
9.1 SecurityManager » .89
9.2 ClassLoader 91
10. Accessing the Environment 93
10.1 I / O , 93
10.2 System Properties 94
10.3 Environment Variables , 96
10.4 External Program Execution 96
10.5 Garbage Collection 97
10.6 Self Termination 97
TABLE OF CONTENTS vii
I I . R E F E R E N C E 99
11. The java.io Package 101
11.1 BufferedlnputStream 102
11.2 BufferedOutputStream 108
11.3 BufferedReader Ill
11.4 BufferedWriter 115
11.5 ByteArraylnputStream 119
11.6 ByteArrayOutputStream .". .....122
11.7 CharArrayReader 126
11.8 CharArrayWriter 131
11.9 CharConversionException 135
11.10 Datalnput 136
11.11 DatalnputStream 140
11.12 DataOutput 749
11.13 DataOutputStream 152
11.14 EOFException 757
11.15 Externalizable 759
11.16 File .'. 767
11.17 FileDescriptor 769
11.18 FilelnputStream 777
11.19 FilenameFilter .775
11.20 FileNotFoundException 776
11.21 FileOutputStream .....778
11.22 FileReader 782
11.23 FileWriter 784
11.24 FilterlnputStream 787
11.25 FilterOutputStream 797
11.26 FilterReader 794
11.27 FilterWriter 798
11.28 InputStream 207
11.29 InputStreamReader 205
11.30 InterruptedlOException 208
11.31 InvalidClassException 270
11.32 InvalidObjectException 272
viii TABLE OF CONTENTS
11.33 IOException . ;........... 213
11.34 LineNumberlnputStream 215
11.35 LineNumberReader , 218
11.36 NotActiveException ...... 222
11.37 NotSerializableException 223
11.38 Objectlnput „...225
11.39 ObjectJnputStream 227
11.40 ObjectlnputValidation 240
11.41 ObjectOutput 242
11.42 ObjectOutputStream , 244
11.43 ObjectStreamClass 253
11.44 ObjectStreamException 255
11.45 OptionalDataException 256
11.46 OutputStream 258
11.47 OutputStreamWriter . ..260
11.48 PipedlnputStream 264
11.49 PipedOutputStream 268
11.50 PipedReader . .". 271
11.51 PipedWriter 274
11.52 PrintStream 276
11.53 PrintWriter .....283
11.54 PushbacklnputStream 297
11.55 PushbackReader 295
11.56 RandomAccessFile 298
11.57 Reader 311
11.58 SequencelnputStream 315
11.59 Serializable 318
11.60 StreamCorruptedException 320
11.61 StreamTokenizer 321
11.62 StringBufferlnputStream 329
11.63 StringReader 332
11.64 StringWriter 336
11.65 SyncFailedException 339
11.66 UnsupportedEncodingException 340
TABLE OF CONTENTS ix
* 11.67 UTFDataFormatException 342
• 11.68 WriteAbortedException ..;................. 343
11.69 Writer ......,.„ 345
12. Thejava.lang Package 350
12.1 AbstractMethodError 352
12.2 ArithmeticException 354
12.3 ArraylndexOutOfBoundsException 355
12.4 ArrayStoreException 357
12.5 Boolean ....,.„ 358
12.6 Byte .. ..... 361
12.7 Character 368
12.8 Class ..!.,.. 386
12.9 ClassCastException 401
12.10 ClassCircularityError 403
12.11 ClassFormatError 404
12.12 ClassLoader 405
12.13 ClassNotFoundException 413
12.14 Cloneable 414
12.15 CloneNotSupportedException 415
12.16 Compiler 417
12.17 Double 419
12.18 Error .......!....'..!....'. 428
12.19 Exception 430
12.20 ExceptionlnlnitializerError 432
12.21 Float 433
12.22 IllegalAccessError .1................... 442
12.23 IllegalAccessException 444
12.24 IllegalArgumentException 445
12.25 IllegalMonitorStateException 446
12.26 IllegalStateException 448
12.27 IllegalThreadStateException 449
12.28 IncompatibleClassChangeError 450
12.29 IndexOutOfBoundsException 452
12.30 Integer 453
x TABLE OF CONTENTS
12.31 InstantiationError 463
12.32 InstantiationException 464
12.33 InternalError 466
12.34 InterruptedException .....467
12.35 LinkageError 468
12.36 Long 470
12.37 Math .. 479
12.38 NegativeArraySizeException 497
12.39 NoClassDefFoundError 493
12.40 NoSuchFieldError 494
12.41 NoSuchFieldException 495
12.42 NoSuchMethodError 497
12.43 NoSuchMediodException 498
12.44 NullPointerException 499
12.45 Number 501
12.46 NumberFormatException 503
12.47 Object 504
12.48 OutOfMemoryError 514
12.49 Process .....515
12.50 Runnable 518
12.51 Runtime 519
12.52 RuntimeException 527
12.53 SecurityException .529
12.54 SecurityManager 530
12.55 Short 547
12.56 StackOverflowError 554
12.57 String 555
12.58 StringBuffer 575
12.59 StringlndexOutOfBoundsException 585
12.60 System 587
12.61 Thread 598
12.62 ThreadDeatii .612
12.63 ThreadGroup 613
12.64 Throwable 621
TABLE OF CONTENTS xi
12.65 UnknownError 624
12.66 UnsatisfiedLinkError 625
12.67 VerifyError 627
12.68 VirtualMachineError 628
12.69 Void 630
13. The java.lang.reflect Package 637
13.1 Array 632
13.2 Constructor 643
13.3 Field 647
13.4 InvocationTargetException 658
13.5 Member 659
13.6 Method 661
13.7 Modifier 665
14. The java.math Package 671
14.1 BigDecimal 671
14.2 Biglnteger 683
15. The java.net Package 697
15.1 BindException 697
15.2 ConnectException 700
15.3 ContentHandler 701
15.4 ContentHandlerFactory , . 702
15.5 DatagramPacket 704
15.6 DatagramSocket 707
15.7 DatagramSocketlmpl 711
15.8 FileNameMap 715
15.9 HttpURLConnection , 716
15.10 InetAddress 726
15.11 MalfonnedURLException 730
15.12 MulticastSocket 731
15.13 NoRouteToHostException 735
15.14 ProtocolException 736
15.15 ServerSocket 737
15.16 Socket 743
xii TABLE OF CONTENTS
15.17 SocketException .... i 752
15.18 Socketlmpl 753
15.19 SocketlmplFactory ...».,....,. 758
15.20 URL u 759
15.21 URLConnection . .....767
15.22 URLEncoder 782
15.23 URLStreamHandler 784
15.24 URLStreamHandlerFactory 787
15.25 UnknownHostException 788
15.26 UnknownServiceException 789
16. Thejava.text Package 797
16.1 Breaklterator * 793
16.2 Characterlterator 799
16.3 ChoiceFormat 802
16.4 CollationElementlterator 808
16.5 CollationKey 811
16.6 Collator 813
16.7 DateFormat i 819
16.8 DateFormatSymbols 831
16.9 DecimalFormat 836
1-6.10 DecimalFormatSymbols » 844
16.11 FieldPosition 850
16.12 Format 852
16.13 MessageFormat .:.,..... 854
16.14 NumberFormat .-. .....; 861
16.15 ParseException 870
16.16 ParsePosition 872
16.17 RuleBasedCollator 873
16.18 SimpleDateFormat 877
16.19 StringCharacterlterator ., ..........;......; 882
TABLE OF CONTENTS xiii
17. Thejava.util Package 888 17.1 BitSet . .....890
17.2 Calendar . 894
17.3 Date , 972
17.4 Dictionary 921
17.5 EmptyStackException 923
17.6 Enumeration 924
17.7 EventListener 926
17.8 EventObject 927
17.9 GregorianCalendar 929
17.10 Hashtable 937
17.11 ListResourceBundle 943
17.12 Locale 945
17.13 MissingResourceException 955
17.14 NoSuchElementException 956
17.15 Observable 958
17.16 Observer 961
17.17 Properties 962
17.18 PropertyResourceBundle 966
17.19 Random 968
17.20 ResourceBundle 971
17.21 SimpleTimeZone 976
17.22 Stack 981
17.23 StringTokenizer 983
17.24 TimeZone 987
17.25 TooManyListenersException 991
17.26 Vector 993
18. The java.util.zip Package 1001
18.1 Adler32 1003
18.2 CheckedlnputStream 1005
18.3 CheckedOutputStream 7007
18.4 Checksum 7009
18.5 CRC32 7077
18.6 DataFormatException 7073
xiv TABLE OF CONTENTS
18.7 Deflater J 1014
18.8 DeflaterOutputStream .....1021
18.9 GZIPInputStream 1:1 1025
18.10 GZIPOütpütStream ....:.. 1028
18.11 Inflater ......:...... 1030
18.12 InflaterlnputStream 7035
18.13 ZipEntry 7039
18.14 ZipException '. . 7044
18.15 ZipFile 7045
* 18.16 ZipInputStream ..................: 7048
18.17 ZipOutputStream 7057
III . APPENDIXES i 7057
A. The Unicode 2.0 Character Set 7059
B. The UTF-8 Encoding 7063
Index 7065