CSB541 Network Programming 網路程式設計. Ch.2 Streams 吳俊興國立高雄大學資訊工程學系
|
|
- Derick Johns
- 5 years ago
- Views:
Transcription
1 CSB541 Network Programming 網路程式設計 Ch.2 Streams 吳俊興國立高雄大學資訊工程學系
2 Outline 2.1 Output Streams 2.2 Input Streams 2.3 Filter Streams 2.4 Readers and Writers 2
3 Java I/O Built on streams I/O in Java is organized differently than it is in most other languages Input streams read data; output streams write data Different stream classes provided, same basic methods Examples File stream: Java.io.FileInputStream Network streams: sun.net.telnetoutputstream After a stream is created, you can often ignore the details of exactly what it is you re reading or writing Filter streams can be chained To modify the data as it s read or written i.e. encrypting, compressing, converting, encoding Readers and writers can be chained to input and output streams to allow programs to read and write text (i.e., characters) rather than bytes Streams are Synchronous Wait for the data to be read or written before doing anything else I/O can be slow, so try to put I/O in its own thread for doing anything else Nonblocking I/O also offered using channels and buffers (Ch. 11) 3
4 2.1 Output Streams java.io.outputstream: the superclass of all classes representing an output stream of bytes int b: only eight bits (0-255) are placed! Subclass examples: FileOutputStream, TelnetOutputStream ByteArrayOutputStream: write data into an expandable byte array 4
5 Example: Character-Generator Server Given The printable ASCII characters are those between 33 and 126 numberofcharactersperline = 72 Output: multiple lines of printable ASCII characters like this Infinite loop 5
6 Sample Code 1: byte-by-byte The character-generator server will terminate only when the client closes the connection. The Java code will see this as an IOException Bytes are written onto out one at a time How many times are write() called to output a line? 6
7 Sample Code 2: line-by-line write(byte[] data): write a line of byte array 7
8 Buffered Stream in Java BufferedOutputStream and BufferedWriter support buffered output directly Remember to flush the output stream by the flush() method! 8
9 Initialize and Close Remember to close a stream to prevent resource leak Dispose pattern: for any object that needs to be cleaned up before it s garbage collected Java6+ Avoid NullPointerExceptions Java 7+: try with resources 9
10 2.2 Input Streams java.io.inputstream: the superclass of all classes representing an input stream of bytes A single byte (0-255) or EndOfStream (-1) Fill input array starting at offset up to length bytes Subclass examples: Skip over data without reading FileInputStream, TelnetInputStream ByteArrayInputStream: read data from an array of bytes cast to byte required for int return of read() Note: byte is signed (-128 to 127); Beware of casting back to int 10
11 Java Primitive Data Types Type Internal Range byte 8-bit signed 2 s complement -128 ~ 127 short 16-bit signed 2 s complement ~ int 32-bit signed 2 s complement ~ long 64-bit signed 2 s complement ~ float 32-bit IEEE 754 floating point ±1.4E-45~± E+38 double 64-bit IEEE 754 floating point ±4.9E-324~ ± E+308 char single 16-bit Unicode character '\u0000 ~'\uffff' (Unicode) boolean 8-bit, two values true, false Java doesn t support unsigned integers natively For simplicity Further: Number and String classes String: a sequence of characters 11
12 Number class in the java.lang package The Java platform provides wrapper classes for each of the primitive data types done by the compiler if you use a primitive where an object is expected, the compiler boxes the primitive in its wrapper class for you Similarly, if you use a number object when a primitive is expected, the compiler unboxes the object for you Three reasons to use a Number object rather than a primitive As an argument of a method that expects an object (often used when manipulating collections of numbers) To use constants defined by the class, such as MIN_VALUE and MAX_VALUE, that provide the upper and lower bounds of the data type. To use class methods for converting values to and from other primitive types for converting to and from strings, and for converting between number systems (decimal, octal, hexadecimal, binary) 12
13 Read Less Problem of (Network) Streams Reading N bytes from a network connection may return less bytes Data with no more than 1024 bytes are possible Read loop is required to guarantee the expected length of bytes Potential Issue: Hang (loop) if 1024 bytes might never arrive Read loop with testing Read exactly available 13
14 Additional Methods of InputStream Class: Marking and Resetting mark() marks the current position in this input stream, and subsequent call to reset() repositions this stream at the last marked position, so that subsequent read() can re-read the same up to readaheadlimit bytes marksupported() tests if the input stream supports mark() and reset() If you try to reset too far back, an IOException is thrown There can be only one mark in a stream at any given time Marking a second location erases the first mark The only input stream classes in java.io that always support marking are BufferedInputStream and ByteArrayInputStream Author s opinion: very poor design of Java More streams don t support these, so it s better to place these three methods in a separate interface rather in the InputStream class 14
15 2.3 Filter Streams InputStream and OutputStream are fairly raw/primitive classes Java provides a number of filter classes you can attach to raw streams to translate the raw bytes to and from these and other formats Two versions of filters The filter streams Still work primarily with raw data as bytes: by compressing the data or interpreting it as binary numbers i.e. System.out The readers and writers Handle the special case of text in a variety of encodings such as UTF-8 and ISO Filters are organized in a chain. Each link in the chain Receives data from the previous filter or stream, and Passes the data along to the next link in the chain 15
16 Example: Flow of Data through a Chain of Filters Finally, the text is read into the application and processed An InputStreamReader converts the decompressed data to Unicode text A GZIPInputStream decompresses the deciphered data A CipherInput Stream decrypts the data. A BufferedInputStream buffers the data to speed up the entire process A compressed, encrypted text file arrives from the local network interface, where native code presents it to the undocumented TelnetInputStream 16
17 Chaining Filters Together Filters are connected to streams by their constructors Example: buffers input from the file data.txt Methods of both fin and bin can be used, but you should only use the last filter in the chain to do the actual reading or writing However, sometimes you may need to use the methods of multiple filters in a chain Example: construct one stream directly inside another Connection is permanent Filters cannot be disconnected from a stream 17
18 Buffered Streams The BufferedOutputStream class Stores written data in a buffer (a protected byte array field named buf) until the buffer is full or the stream is flushed Then it writes the data onto the underlying output stream all at once A single write of many bytes is almost always much faster than many small writes that add up to the same thing Especially true of network connections because each TCP segment or UDP packet carries a finite amount of overhead, generally about 40 bytes worth The BufferedInputStream class When one of the stream s read() methods is called, it first tries to get the requested data from the buffer Only when the buffer runs out of data does the stream read from the underlying source It reads as much data as it can from the source into the buffer, whether it needs all the data immediately or not Buffering can substantially improve performance for reading files from a local disk, but the gain is less obvious on network connections where the bottleneck is often the speed at which the network can deliver data 18
19 Constructors of Buffered Streams Arguments of two constructors The underlying stream The number of bytes in the buffer Default values: 2048 bytes for an input stream and 512 bytes for an output stream For network connections, it s hard to predict and it varies You want something a little larger than the typical packet size» TCP/IP will chunk or fragment data into suitable size for underlying links Faster, higher-bandwidth networks tend to use larger packets Beware of using buffered streams read() methods of BufferedInputStream Return only when the array or subarray has been completely filled the end of stream is reached, or the underlying stream would block on further reads Most input streams read from the underlying stream only once It is essential to flush the BufferedOutputStream when you reach a point at which the data needs to be sent 19
20 PrintStream Adds the ability to Print representations of various data values to another output stream System.out is a PrintStream, a filter output stream 9 overloaded print() methods and 10 overloaded println() methods Println(): append a platform-dependent line separator» Linefeed (\n) on Unix, a carriage return (\r) on Mac OS 9, and (\r\n) on Windows Most network protocols such as HTTP and Gnutella also terminate lines with \r\n There are no problems with println() for Java programs on Windows, but fail on Unix and the Mac Assumes the default encoding of the platform on which it s running The expected encodings may be mismatched between the server and the clients Never throws an IOException The code must explicitly check flag using the checkerror() method after every call Not good for network programs that must be prepared to deal with unexpected interruptions in the flow of data Be created to flush automatically The flush method is automatically invoked after a byte array is written, one of the println methods is invoked, or a newline character or byte is written 20
21 Data Streams The DataInputStream and DataOutputStream classes Providing methods for reading and writing Java s primitive data types and strings in a binary format Intended for exchanging data between two different Java programs through a network connection, a data file, a pipe, or some other intermediary All data is written in big-endian format Two s-complement integers IEEE 754 floating-point numbers A single byte Boolean with the value 0 for false and 1 for true Unicode For exchanging UTF-8 text with all other software, you should use an InputStreamReader with the appropriate encoding 21
22 DataOutputStream Class Match DataInputStream writechars(): writing each character in turn as a two-type, big-endian Unicode character writebytes(): writes only the least significant byte of each character Information will be lost for any string with characters from outside the Latin-1 character set writeutf(): encodes the string itself in a variant of the UTF-8 encoding of Unicode Subtly incompatible with most non-java software Should be used only for exchanging data with other Java program For exchanging UTF-8 text with all other software, should use an InputStreamReader with appropriate encoding 22
23 DataInputStream Class 9 methods match DataOutputStream 2 methods to read unsigned bytes and unsigned shorts 2 methods to repeatedly read data until the requested bytes have been read. If not enough, an IOException is thrown readline() to read a line of text is provided, but deprecated Do not always recognize a single carriage return as ending a line Handled by the readline() method of the BufferedReader class instead 23
24 2.4 Readers and Writers Java provides an almost complete mirror of the I/O stream class hierarchy designed for working with characters instead of bytes Many programmers have a bad habit of writing code as if all text were ASCII or at least in the native encoding (i.e. Big-5) of the platform Java s native character set is the UTF-16 encoding of Unicode java.io.reader and java.io.writer: two abstract superclasses for reading and writing characters Like java.io.inputstream and java.io.outputstream Never used directly Two most important concrete subclass: InputStreamReader and OutputStreamWriter Translate between bytes and Unicode characters Several raw reader and writer classes FileReader/FileWriter: work with files StringReader/StringWriter, CharArrayReader/CharArrayWriter: work inside Java 24
25 Writers The Writer class mirrors the java.io.outputstream class A subclass must override the three base methods write(char [] text, int offset, int length), flush(), close() Various write() methods: given a Writer object w The exact output depends on the encoding w uses Big-endian UTF E F B Little-endian UTF-16 4E F B 00 Latin-1,UTF-8 4E F726B 25
26 OutputStreamWriter The most important concrete subclass of Writer Receives characters from a Java program Converts these into bytes according to a specified encoding Writes them onto an underlying output stream Constructor: specifies the output stream and the encoding If no encoding is specified, the default encoding for the platform is used It s better to explicitly specify the character set It has only the usual Writer methods, and one getencoding() method to return the encoding of the object 26
27 Readers The Reader class mirrors the java.io.inputstream class A subclass must override the two base methods read(char [] text, int offset, int length), close() The read() method return a single Unicode character as an int with a value from 0 to 65,535 or -1 on end of stream New ready() method: returns a boolean indicating whether the reader may be read without blocking available() returns an int specifying a minimum number of bytes that may be read without blocking Since it s hard to determine the length for some character encodings 27
28 InputStreamReader The most important concrete subclass of Reader Reads bytes from an underlying input stream such as FileInputStream Converts these into characters according to a specified encoding Return them Constructor: specifies the input stream and the encoding If no encoding is specified, the default encoding for the platform is used If an unknown encoding is specified, an UnsupportedEncodingException is thrown Example: getmaccyrillicstring() converts MacCyrillic to Unicode 28
29 Filter Readers and Writers java.io.filterreader and java.io.filterwriter classes Additional character-oriented filters can be layered on InputStreamReader and OutputStreamWriter classes, which change the interface from a byteoriented interface to a character-oriented interface Subclasses perform specific filtering BufferedReader/BufferedWriter: use an internal array of chars as a buffer Similar to BufferedInputStream/BufferedOutputStream, but supporting encoding conversion and platform-dependent line-separator Constructors: If the size is not set, the default size of 8,192 characters is used readline() of BufferedReader: reads a single line of text and return it as astring newline() of BufferedWriter: inserts a platform-dependent line-separator string LineNumberReader: a buffered character-input stream that keeps track of line numbers PushbackReader: a character-stream reader that allows characters to be pushed back into the stream PrintWriter: replacement for PrintStream 29
30 getmaccyrillicstring() with BufferedReader getmaccyrillicstring() converts MacCyrillic to Unicode Un-buffered Buffered: run faster 30
31 PrintWriter A replacement for Java 1.0 s PrintStream class that properly handles multibyte character sets and international text Has an almost identical collection of methods to PrintStream New code should use PrintWriter instead of PrintStream 31
32 Summary Byte-oriented I/O (ASCII encoding assumed) java.io.outputstream (Abstract superclass): write sequence of bytes BufferedOutputStream: writing data in a buffer PrintStream: System.out FileOutputStream DataOutputStream: writing primitive data types and strings in a binary format java.io.inputstream (Abstract superclass) BufferedInputStream, FileInputStream, DataInputStream Character-oriented I/O (UTF-16 default encoding) java.io.writer (Abstract superclass) OutputStreamWriter FileWriter, StringWriter, CharArrayWriter BufferedWriter PrintWriter (replacement for PrintStream) java.io.reader (Abstract superclass) InputStreamReader FileReader, StringReader, CharArrayReader BufferedReader LineNumberReader: a buffered character-input stream that keeps track of line numbers PushbackReader: a character-stream reader that allows characters to be pushed back into the stream 32
Output Streams Input Streams Filter Streams Readers and Writers Object Streams and Serialization Introduction to Sockets
3. Java I/O Revisited Output Streams Input Streams Filter Streams Readers and Writers Object Streams and Serialization Introduction to Sockets Java I/O A large part of what network programs do is simple
More information09-1. CSE 143 Java GREAT IDEAS IN COMPUTER SCIENCE. Overview. Data Representation. Representation of Primitive Java Types. Input and Output.
CSE 143 Java Streams Reading: 19.1, Appendix A.2 GREAT IDEAS IN COMPUTER SCIENCE REPRESENTATION VS. RENDERING 4/28/2002 (c) University of Washington 09-1 4/28/2002 (c) University of Washington 09-2 Topics
More informationJava How to Program, 9/e. Copyright by Pearson Education, Inc. All Rights Reserved.
Java How to Program, 9/e Copyright 1992-2012 by Pearson Education, Inc. All Rights Reserved. Data stored in variables and arrays is temporary It s lost when a local variable goes out of scope or when
More informationInput, Output and Exceptions. COMS W1007 Introduction to Computer Science. Christopher Conway 24 June 2003
Input, Output and Exceptions COMS W1007 Introduction to Computer Science Christopher Conway 24 June 2003 Input vs. Output We define input and output from the perspective of the programmer. Input is data
More informationJOSE LUIS JUAREZ VIVEROS com) has a. non-transferable license to use this Student Guide
Module 10 I/O Fundamentals Objectives Upon completion of this module, you should be able to: Write a program that uses command-line arguments and system properties Examine the Properties class Construct
More informationPIC 20A Streams and I/O
PIC 20A Streams and I/O Ernest Ryu UCLA Mathematics Last edited: December 7, 2017 Why streams? Often, you want to do I/O without paying attention to where you are reading from or writing to. You can read
More informationCOMP 213. Advanced Object-oriented Programming. Lecture 19. Input/Output
COMP 213 Advanced Object-oriented Programming Lecture 19 Input/Output Input and Output A program that read no input and produced no output would be a very uninteresting and useless thing. Forms of input/output
More informationChapter 4 Java I/O. X i a n g Z h a n g j a v a c o s q q. c o m
Chapter 4 Java I/O X i a n g Z h a n g j a v a c o s e @ q q. c o m Content 2 Java I/O Introduction File and Directory Byte-stream and Character-stream Bridge between b-s and c-s Random Access File Standard
More informationLecture 22. Java Input/Output (I/O) Streams. Dr. Martin O Connor CA166
Lecture 22 Java Input/Output (I/O) Streams Dr. Martin O Connor CA166 www.computing.dcu.ie/~moconnor Topics I/O Streams Writing to a Stream Byte Streams Character Streams Line-Oriented I/O Buffered I/O
More informationI/O in Java I/O streams vs. Reader/Writer. HW#3 due today Reading Assignment: Java tutorial on Basic I/O
I/O 10-7-2013 I/O in Java I/O streams vs. Reader/Writer HW#3 due today Reading Assignment: Java tutorial on Basic I/O public class Swimmer implements Cloneable { public Date geteventdate() { return (Date)
More informationThe Java I/O System. Binary I/O streams (ASCII, 8 bits) The decorator design pattern Character I/O streams (Unicode, 16 bits)
The Java I/O System Binary I/O streams (ASCII, 8 bits) InputStream OutputStream The decorator design pattern Character I/O streams (Unicode, 16 bits) Reader Writer Comparing binary I/O to character I/O
More informationObjec&ves STANDARD ERROR. Standard Error Streams. Ø Byte Streams Ø Text Streams 10/5/16. Oct 5, 2016 Sprenkle - CSCI209 1
Objec&ves Standard Error Streams Ø Byte Streams Ø Text Streams Oct 5, 2016 Sprenkle - CSCI209 1 STANDARD ERROR Oct 5, 2016 Sprenkle - CSCI209 2 1 Standard Streams Preconnected streams Ø Standard Out: stdout
More informationExceptions and Working with Files
Exceptions and Working with Files Creating your own Exceptions. You have a Party class that creates parties. It contains two fields, the name of the host and the number of guests. But you don t want to
More informationThe I/O Package. THE Java platform includes a number of packages that are concerned with the CHAPTER20
CHAPTER20 The I/O Package From a programmer s point of view, the user is a peripheral that types when you issue a read request. Peter Williams THE Java platform includes a number of packages that are concerned
More informationOverview CSE 143. Data Representation GREAT IDEAS IN COMPUTER SCIENCE. Representation of Primitive Java Types. CSE143 Au
Overview CSE 143 Topics Data representation bits and bytes Streams communicating with the outside world Basic Java files Other stream classes Streams Reading: Sec. 19.1, Appendix A2 11/2/2003 (c) 2001-3,
More informationOverview CSE 143. Data Representation GREAT IDEAS IN COMPUTER SCIENCE
Overview CSE 143 Topics Data representation bits and bytes Streams communicating with the outside world Basic Java files Other stream classes Streams Reading: Sec. 19.1, Appendix A2 11/2/2003 (c) 2001-3,
More informationOverview CSE 143. Data Representation GREAT IDEAS IN COMPUTER SCIENCE. Representation of Primitive Java Types. CSE143 Sp
Overview CSE 143 Topics Data representation bits and bytes Streams communicating with the outside world Basic Java files Other stream classes Streams Reading: Ch. 16 4/27/2004 (c) 2001-4, University of
More informationObjec&ves. Review. Standard Error Streams
Objec&ves Standard Error Streams Ø Byte Streams Ø Text Streams Oct 5, 2016 Sprenkle - CSCI209 1 Review What are benefits of excep&ons What principle of Java do files break if we re not careful? What class
More informationOverview CSE 143. Input and Output. Streams. Other Possible Kinds of Stream Converters. Stream after Stream... CSE143 Wi
CSE 143 Overview Topics Streams communicating with the outside world Basic Java files Other stream classes Streams Reading: Ch. 16 2/3/2005 (c) 2001-5, University of Washington 12-1 2/3/2005 (c) 2001-5,
More informationOverview CSE 143. Data Representation GREAT IDEAS IN COMPUTER SCIENCE
CSE 143 Overview Topics Data representation bits and bytes Streams communicating with the outside world Basic Java files Other stream classes Streams Reading: Ch. 16 10/20/2004 (c) 2001-4, University of
More informationSoftware 1 with Java. Recitation No. 7 (Java IO) May 29,
Software 1 with Java Recitation No. 7 (Java IO) May 29, 2007 1 The java.io package The java.io package provides: Classes for reading input Classes for writing output Classes for manipulating files Classes
More informationBasic I/O - Stream. Java.io (stream based IO) Java.nio(Buffer and channel-based IO)
I/O and Scannar Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 I/O operations Three steps:
More informationSoftware 1. Java I/O
Software 1 Java I/O 1 The java.io package The java.io package provides: Classes for reading input Classes for writing output Classes for manipulating files Classes for serializing objects 2 Streams A stream
More informationDarshan Institute of Engineering & Technology for Diploma Studies
Streams A stream is a sequence of data. In Java a stream is composed of bytes. In java, 3 streams are created for us automatically. 1. System.out : standard output stream 2. System.in : standard input
More informationSoftware 1 with Java. Recitation No. 9 (Java IO) December 10,
Software 1 with Java Recitation No. 9 (Java IO) December 10, 2006 1 The java.io package The java.io package provides: Classes for reading input Classes for writing output Classes for manipulating files
More informationCSC 1214: Object-Oriented Programming
CSC 1214: Object-Oriented Programming J. Kizito Makerere University e-mail: www: materials: e-learning environment: office: alt. office: jkizito@cis.mak.ac.ug http://serval.ug/~jona http://serval.ug/~jona/materials/csc1214
More informationI/O Streams. Object-oriented programming
I/O Streams Object-oriented programming Outline Concepts of Data Streams Streams and Files File class Text file Binary file (primitive data, object) Readings: GT, Ch. 12 I/O Streams 2 Data streams Ultimately,
More informationתוכנה 1 תרגול 8 קלט/פלט רובי בוים ומתי שמרת
תוכנה 1 תרגול 8 קלט/פלט רובי בוים ומתי שמרת A Typical Program Most applications need to process some input and produce some output based on that input The Java IO package (java.io) is to make that possible
More informationExample: Copying the contents of a file
Administrivia Assignment #4 is due imminently Due Thursday April 8, 10:00pm no late assignments will be accepted Sign up in the front office for a demo time Dining Philosophers code is online www.cs.ubc.ca/~norm/211/2009w2/index.html
More informationSpecial error return Constructors do not have a return value What if method uses the full range of the return type?
23 Error Handling Exit program (System.exit()) usually a bad idea Output an error message does not help to recover from the error Special error return Constructors do not have a return value What if method
More information7 Streams and files. Overview. Binary data vs text. Binary data vs text. Readers, writers, byte streams. input-output
Overview 7 Streams and files import java.io.*; Binary data vs textual data Simple file processing - examples The stream model Bytes and characters Buffering Byte streams Character streams Binary streams
More informationPerforming input and output operations using a Byte Stream
Performing input and output operations using a Byte Stream public interface DataInput The DataInput interface provides for reading bytes from a binary stream and reconstructing from them data in any of
More informationStarting Out with Java: From Control Structures Through Objects Sixth Edition
Starting Out with Java: From Control Structures Through Objects Sixth Edition Chapter 11 I/O File Input and Output Reentering data all the time could get tedious for the user. The data can be saved to
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques (CIS120) Lecture 30 April 4, 2018 I/O & Histogram Demo Chapters 28 HW7: Chat Server Announcements No penalty for late submission by tomorrow (which is a HARD deadline!)
More informationCS 251 Intermediate Programming Java I/O Streams
CS 251 Intermediate Programming Java I/O Streams Brooke Chenoweth University of New Mexico Spring 2018 Basic Input/Output I/O Streams mostly in java.io package File I/O mostly in java.nio.file package
More informationSoftware Development & Education Center. Java Platform, Standard Edition 7 (JSE 7)
Software Development & Education Center Java Platform, Standard Edition 7 (JSE 7) Detailed Curriculum Getting Started What Is the Java Technology? Primary Goals of the Java Technology The Java Virtual
More informationLecture 11.1 I/O Streams
21/04/2014 Ebtsam AbdelHakam 1 OBJECT ORIENTED PROGRAMMING Lecture 11.1 I/O Streams 21/04/2014 Ebtsam AbdelHakam 2 Outline I/O Basics Streams Reading characters and string 21/04/2014 Ebtsam AbdelHakam
More informationPrinciples of Software Construction: Objects, Design and Concurrency. Design Case Study: Stream I/O. toad
Principles of Software Construction: Objects, Design and Concurrency Design Case Study: Stream I/O 15-214 toad Christian Kästner Charlie Garrod School of Computer Science 2014 C Kästner, C Garrod, J Aldrich,
More informationHST 952. Computing for Biomedical Scientists Lecture 8
Harvard-MIT Division of Health Sciences and Technology HST.952: Computing for Biomedical Scientists HST 952 Computing for Biomedical Scientists Lecture 8 Outline Vectors Streams, Input, and Output in Java
More informationJava Input / Output. CSE 413, Autumn 2002 Programming Languages.
Java Input / Output CSE 413, Autumn 2002 Programming Languages http://www.cs.washington.edu/education/courses/413/02au/ 18-November-2002 cse413-18-javaio 2002 University of Washington 1 Reading Readings
More informationPieter van den Hombergh Richard van den Ham. March 13, 2018
Pieter van den Hombergh Richard van den Ham Fontys Hogeschool voor Techniek en Logistiek March 13, 2018 /FHTenL March 13, 2018 1/23 Topics /FHTenL March 13, 2018 2/23 Figure: Taken from the Oracle/Sun
More informationJava IO and C++ Streams
Java IO and C++ Streams October 22, 2004 Operator Overloading in C++ - 2004-10-21 p. 1/31 Outline Java IO InputStream/OutputStream FilterInputStream/FilterOutputStream DataInputStream/DataOutputStream
More informationSoftware 1 with Java. The java.io package. Streams. Streams. Streams. InputStreams
The java.io package Software with Java Java I/O Mati Shomrat and Rubi Boim The java.io package provides: Classes for reading input Classes for writing output Classes for manipulating files Classes for
More informationChapter 17 Binary I/O. Liang, Introduction to Java Programming, Eleventh Edition, (c) 2017 Pearson Education, Inc. All rights reserved.
Chapter 17 Binary I/O 1 Motivations Data stored in a text file is represented in human-readable form. Data stored in a binary file is represented in binary form. You cannot read binary files. They are
More informationChapter 10. IO Streams
Chapter 10 IO Streams Java I/O The Basics Java I/O is based around the concept of a stream Ordered sequence of information (bytes) coming from a source, or going to a sink Simplest stream reads/writes
More informationSoftware Practice 1 - File I/O
Software Practice 1 - File I/O Stream I/O Buffered I/O File I/O with exceptions CSV format Practice#6 Prof. Joonwon Lee T.A. Jaehyun Song Jongseok Kim (42) T.A. Sujin Oh Junseong Lee 1 (43) / 38 2 / 38
More informationCS193j, Stanford Handout #26. Files and Streams
CS193j, Stanford Handout #26 Summer, 2003 Manu Kumar Files and Streams File The File class represents a file or directory in the file system. It provides platform independent ways to test file attributes,
More informationSimple Java Input/Output
Simple Java Input/Output Prologue They say you can hold seven plus or minus two pieces of information in your mind. I can t remember how to open files in Java. I ve written chapters on it. I ve done it
More informationObject-Oriented Programming Design. Topic : Streams and Files
Electrical and Computer Engineering Object-Oriented Topic : Streams and Files Maj Joel Young Joel Young@afit.edu. 18-Sep-03 Maj Joel Young Java Input/Output Java implements input/output in terms of streams
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques (CIS120) Lecture 31 April 6 th, 2016 I/O Chapter 28 Poll Did you finish HW 07 PennPals? 1. Yes! 2. I turned it in on time, but there are a few things I couldn't figure
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques (CIS120) Lecture 31 November 17, 2017 I/O & Histogram Demo Chapters 28 Announcements HW8: SpellChecker Available on the website and Codio Due next Tuesday, November
More informationBasic Java IO Decorator pattern Advanced Java IO. Java IO - part 2 BIU OOP. BIU OOP Java IO - part 2
Java IO - part 2 BIU OOP Table of contents 1 Basic Java IO What do we know so far? What s next? 2 Example Overview General structure 3 Stream Decorators Serialization What do we know so far? What s next?
More informationChapter 10. File I/O. Copyright 2016 Pearson Inc. All rights reserved.
Chapter 10 File I/O Copyright 2016 Pearson Inc. All rights reserved. Streams A stream is an object that enables the flow of data between a program and some I/O device or file If the data flows into a program,
More informationFile IO. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 20
File IO Computer Science and Engineering College of Engineering The Ohio State University Lecture 20 I/O Package Overview Package java.io Core concept: streams Ordered sequences of data that have a source
More informationObject-Oriented Programming in the Java language
Object-Oriented Programming in the Java language Part 5. Exceptions. I/O in Java Yevhen Berkunskyi, NUoS eugeny.berkunsky@gmail.com http://www.berkut.mk.ua Exceptions Exceptions in Java are objects. All
More information10.1 Overview 162 CHAPTER 10 CHARACTER STREAMS
C H A P T E R 1 0 Character streams 10.1 Overview 162 10.2 Character encoding 164 10.3 Class Writer 167 10.4 Class Reader 169 10.5 Class OutputStreamWriter 171 10.6 Class InputStreamReader 173 10.7 An
More informationCh.7 Internet Protocol: Connectionless Datagram Delivery (IPv4, IPv6)
CSC521 Communication Protocols 網路通訊協定 Ch.7 Internet Protocol: Connectionless Datagram Delivery (IPv4, IPv6) 吳俊興國立高雄大學資訊工程學系 Internetworking With TCP/IP, Vol I: Sixth Edition, Douglas E. Comer Outline 1
More informationI/O streams. Byte Streams Character Streams InputStream ByteArrayInputStream FileInputStream FilterInputStream
Course Name: Advanced Java Lecture 9 Topics to be covered I/O streams Byte Streams Character Streams InputStream ByteArrayInputStream FileInputStream FilterInputStream Introduction A Stream is a sequence
More informationFile Input/Output. Introduction to Computer Science I. Overview (1): Overview (2): CSE 1020 Summer Bill Kapralos. Bill Kapralos.
File Input/Output Tuesday, July 25 2006 CSE 1020, Summer 2006, Overview (1): Before We Begin Some administrative details Some questions to consider The Class Object What is the Object class? File Input
More informationCS112 Lecture: Streams
CS112 Lecture: Streams Objectives: Last Revised March 30, 2006 1. To introduce the abstract notion of a stream 2. To introduce the java File, Input/OutputStream, and Reader/Writer abstractions 3. To show
More informationC17: I/O Streams and File I/O
CISC 3120 C17: I/O Streams and File I/O Hui Chen Department of Computer & Information Science CUNY Brooklyn College 4/9/2018 CUNY Brooklyn College 1 Outline Recap and issues Review your progress Assignments:
More informationObject Oriented Design with UML and Java. PART VIII: Java IO
Object Oriented Design with UML and Java PART VIII: Java IO Copyright David Leberknight and Ron LeMaster. Version 2011 java.io.* & java.net.* Java provides numerous classes for input/output: java.io.inputstream
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques (CIS120) Lecture 30 November 13, 2015 ExcepEons / IO Chapter 27 HW7: PennPals Chat Due: Tuesday, November 17 th Announcements Start today if you haven't already! Poll
More informationCPS122 Lecture: Input-Output
CPS122 Lecture: Input-Output Objectives: Last Revised April 3, 2017 1. To discuss IO to System.in/out/err 2. To introduce the abstract notion of a stream 3. To introduce the java File, Input/OutputStream,
More information1.00 Lecture 30. Sending information to a Java program
1.00 Lecture 30 Input/Output Introduction to Streams Reading for next time: Big Java 15.5-15.7 Sending information to a Java program So far: use a GUI limited to specific interaction with user sometimes
More informationCore Java Syllabus. Overview
Core Java Syllabus Overview Java programming language was originally developed by Sun Microsystems which was initiated by James Gosling and released in 1995 as core component of Sun Microsystems' Java
More informationSoftware 1. תרגול 9 Java I/O
Software 1 תרגול 9 Java I/O 1 The java.io package The java.io package provides: Classes for reading input Classes for writing output Classes for manipulating files Classes for serializing objects 2 Streams
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques (CIS120) Lecture 30 April 2, 2012 Streams & IO HW 09 will be available today Announcements Covers Java libraries: colleclons & IO Last automalcally graded HW assignment
More information1993: renamed "Java"; use in a browser instead of a microwave : Sun sues Microsoft multiple times over Java
Java history invented mainly by James Gosling ([formerly] Sun Microsystems) 1990: Oak language for embedded systems needs to be reliable, easy to change, retarget efficiency is secondary implemented as
More informationneeds to be reliable, easy to change, retarget efficiency is secondary implemented as interpreter, with virtual machine
Java history invented mainly by James Gosling ([formerly] Sun Microsystems) 1990: Oak language for embedded systems needs to be reliable, easy to change, retarget efficiency is secondary implemented as
More informationStreams and File I/O
Chapter 9 Streams and File I/O Overview of Streams and File I/O Text File I/O Binary File I/O File Objects and File Names Chapter 9 Java: an Introduction to Computer Science & Programming - Walter Savitch
More informationIntroduction Unit 4: Input, output and exceptions
Faculty of Computer Science Programming Language 2 Object oriented design using JAVA Dr. Ayman Ezzat Email: ayman@fcih.net Web: www.fcih.net/ayman Introduction Unit 4: Input, output and exceptions 1 1.
More informationChapter 10 Input Output Streams
Chapter 10 Input Output Streams ICT Academy of Tamil Nadu ELCOT Complex, 2-7 Developed Plots, Industrial Estate, Perungudi, Chennai 600 096. Website : www.ictact.in, Email : contact@ictact.in, Phone :
More informationCore Java Contents. Duration: 25 Hours (1 Month)
Duration: 25 Hours (1 Month) Core Java Contents Java Introduction Java Versions Java Features Downloading and Installing Java Setup Java Environment Developing a Java Application at command prompt Java
More informationJonathan Aldrich Charlie Garrod
Principles of So3ware Construc9on: Objects, Design, and Concurrency Part 3: Design Case Studies Design Case Study: Java I/O Jonathan Aldrich Charlie Garrod School of Computer Science 1 Administrivia Homework
More informationFile. Long term storage of large amounts of data Persistent data exists after termination of program Files stored on secondary storage devices
Java I/O File Long term storage of large amounts of data Persistent data exists after termination of program Files stored on secondary storage devices Magnetic disks Optical disks Magnetic tapes Sequential
More informationCh.9 Internet Protocol: Error And Control Messages (ICMP)
CSC521 Communication Protocols 網路通訊協定 Ch.9 Internet Protocol: Error And Control Messages (ICMP) 吳俊興國立高雄大學資訊工程學系 Internetworking With TCP/IP, Vol I: Sixth Edition, Douglas E. Comer Outline 1 Introduction
More informationDM550 / DM857 Introduction to Programming. Peter Schneider-Kamp
DM550 / DM857 Introduction to Programming Peter Schneider-Kamp petersk@imada.sdu.dk http://imada.sdu.dk/~petersk/dm550/ http://imada.sdu.dk/~petersk/dm857/ IN & OUTPUT USING STREAMS 2 Streams streams are
More informationCS5000: Foundations of Programming. Mingon Kang, PhD Computer Science, Kennesaw State University
CS5000: Foundations of Programming Mingon Kang, PhD Computer Science, Kennesaw State University Files Two types: Text file and Binary file Text file (ASCII file) The file data contains only ASCII values
More informationByte and Character Streams. Reading and Writing Console input and output
Byte and Character Streams Reading and Writing Console input and output 1 I/O basics The io package supports Java s basic I/O (input/output) Java does provide strong, flexible support for I/O as it relates
More informationCPS122 Lecture: Input-Output
CPS122 Lecture: Input-Output Objectives: Last Revised January 19, 2010 1. To discuss IO to System.in/out/err 2. To introduce the abstract notion of a stream 3. To introduce the java File, Input/OutputStream,
More informationChapter 10 User Datagram Protocol (UDP)
CSC521 Communication Protocols 網路通訊協定 Chapter 10 User Datagram Protocol (UDP) 吳俊興國立高雄大學資訊工程學系 Internetworking With TCP/IP, Vol I: Sixth Edition, Douglas E. Comer Outline 1 Introduction 2 Using A Protocol
More informationWriting usable APIs in practice
Writing usable APIs in practice SyncConf 2013 Giovanni Asproni gasproni@asprotunity.com @gasproni Summary API definition Two assumptions Why bother with usability Some usability concepts Some techniques
More informationWeek 12. Streams and File I/O. Overview of Streams and File I/O Text File I/O
Week 12 Streams and File I/O Overview of Streams and File I/O Text File I/O 1 I/O Overview I/O = Input/Output In this context it is input to and output from programs Input can be from keyboard or a file
More informationWeiss Chapter 1 terminology (parenthesized numbers are page numbers)
Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement
More information14.3 Handling files as binary files
14.3 Handling files as binary files 469 14.3 Handling files as binary files Although all files on a computer s hard disk contain only bits, binary digits, we say that some files are text files while others
More informationCSD Univ. of Crete Fall Files, Streams, Filters
Files, Streams, Filters 1 CSD Univ. of Crete Fall 2008 Introduction Files are often thought of as permanent data storage (e.g. floppy diskettes) When a file is stored on a floppy or hard disk, the file's
More informationAgenda & Reading. Python Vs Java. COMPSCI 230 S Software Construction
COMPSCI 230 S2 2016 Software Construction File Input/Output 2 Agenda & Reading Agenda: Introduction Byte Streams FileInputStream & FileOutputStream BufferedInputStream & BufferedOutputStream Character
More informationSoftware 1. The java.io package. Streams. Streams. Streams. InputStreams
The java.io package Software 1 תרגול 9 Java I/O The java.io package provides: Classes for reading input Classes for writing output Classes for manipulating files Classes for serializing objects 1 2 Streams
More informationSri Vidya College of Engineering & Technology Question Bank
1. What is exception? UNIT III EXCEPTION HANDLING AND I/O Part A Question Bank An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program s instructions.
More informationContents. iii Copyright 1998 Sun Microsystems, Inc. All Rights Reserved. Enterprise Services August 1998, Revision B
Contents About the Course...xv Course Overview... xvi Course Map... xvii Module-by-Module Overview... xviii Course Objectives... xxii Skills Gained by Module... xxiii Guidelines for Module Pacing... xxiv
More informationCh. 22 Bootstrap And Autoconfiguration (DHCP, NDP or IPv6-ND)
CSC521 Communication Protocols 網路通訊協定 Ch. 22 Bootstrap And Autoconfiguration (DHCP, NDP or IPv6-ND) 吳俊興國立高雄大學資訊工程學系 Internetworking With TCP/IP, Vol I: Sixth Edition, Douglas E. Comer Outline 1 Introduction
More informationROEVER ENGINEERING COLLEGE Elambalur,Perambalur DEPARTMENT OF CSE
ROEVER ENGINEERING COLLEGE Elambalur,Perambalur-621212 DEPARTMENT OF CSE 2 marks questions with answers CS331-ADVANCED JAVA PROGRAMMING 1. What is Java Streaming? Java streaming is nothing more than a
More informationTechniques of Java Programming: Streams in Java
Techniques of Java Programming: Streams in Java Manuel Oriol May 8, 2006 1 Introduction Streams are a way of transferring and filtering information. Streams are directed pipes that transfer information
More informationLab 2: File Input and Output
Lab 2: File Input and Output This lab introduces how to handle files as both input and output. We re coming back to Tracery (which you implemented in Lab 1) with this assignment but instead of always reading
More informationCISC 323 (Week 9) Design of a Weather Program & Java File I/O
CISC 323 (Week 9) Design of a Weather Program & Java File I/O Jeremy Bradbury Teaching Assistant March 8 & 10, 2004 bradbury@cs.queensu.ca Programming Project The next three assignments form a programming
More informationF1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept
F1 A Java program Ch 1 in PPIJ Introduction to the course The computer and its workings The algorithm concept The structure of a Java program Classes and methods Variables Program statements Comments Naming
More informationFiles and Streams
Files and Streams 4-18-2006 1 Opening Discussion Do you have any questions about the quiz? What did we talk about last class? Do you have any questions about the assignment? What are files and why are
More informationIT101. File Input and Output
IT101 File Input and Output IO Streams A stream is a communication channel that a program has with the outside world. It is used to transfer data items in succession. An Input/Output (I/O) Stream represents
More informationTraining topic: OCPJP (Oracle certified professional Java programmer) or SCJP (Sun certified Java programmer) Content and Objectives
Training topic: OCPJP (Oracle certified professional Java programmer) or SCJP (Sun certified Java programmer) Content and Objectives 1 Table of content TABLE OF CONTENT... 2 1. ABOUT OCPJP SCJP... 4 2.
More information