[2024]Digital Global Overview Report 2024 Meltwater.pdf
Java session08
1. Java Programming Language
Objectives
In this session, you will learn to:
Write a program that uses command-line arguments and
system properties
Write a program that reads from standard input
Describe the C-type formatted input and output
Write a program that can create, read, and write files
Describe the basic hierarchy of collections
Write a program that uses sets and lists
Write a program to iterate over a collection
Write a program that uses generic collections
Ver. 1.0 Session 8 Slide 1 of 20
2. Java Programming Language
Command-Line Arguments
• Command-line arguments are the parameters passed to a
Java application at run time.
• Each command-line argument is placed in the args array
that is passed to the static main method. For example:
public static void main(String[] args)
Ver. 1.0 Session 8 Slide 2 of 20
3. Java Programming Language
System Properties
System properties are a feature that replaces the concept of
environment variables (which are platform-specific).
System properties include information about the current
user, the current version of the Java runtime, and the
character used to separate components of a file path name.
The System.getProperties() method returns a
Properties object.
– The System.getProperty(String) method returns a
String representing the value of the named property.
– The System.getProperty(String, String)
method enables you to supply a default string value (second
parameter), which is returned if the named property does not
exist.
Ver. 1.0 Session 8 Slide 3 of 20
4. Java Programming Language
Console I/O
• Applications interact with the user using console I/O.
• Java 2 SDK supports console I/O with three public
variables in the java.lang.System class:
– The variable System.out enables you to write to standard
output. It is an object of type PrintStream.
– The variable System.in enables you to read from standard
input. It is an object of type InputStream.
– The variable System.err enables you to write to standard
error. It is an object of type PrintStream.
Ver. 1.0 Session 8 Slide 4 of 20
5. Java Programming Language
Writing to Standard Output
• The println() method print the argument and a newline
character (n).
• The print() method print the argument without a newline
character.
• The print() and println() methods are overloaded for
most primitive types (boolean, char, int, long,
float, and double) and for char[], Object, and
String.
• The print(Object) and println(Object) methods
call the toString() method on the argument.
Ver. 1.0 Session 8 Slide 5 of 20
6. Java Programming Language
Reading from Standard Input
The application program can use the following methods of
the java.io package to read from the standard input:
Read characters from the keyboard and convert the raw bytes
into Unicode characters:
InputStreamReader ir=new
InputStreamReader(system.in);
Create a buffered reader to read each line from the keyboard:
BufferedReader in = new BufferedReader(ir);
– The BufferedReader(in) provides a readLine() method
to read from standard input one line at a time:
s=in.readLine();
• The Scanner class of java.util package provides
formatted input functionality.
Ver. 1.0 Session 8 Slide 6 of 20
7. Java Programming Language
Files and File I/O
The java.io package enables you to do the following:
Create File objects
Manipulate File objects
Read and write to file streams
Ver. 1.0 Session 8 Slide 7 of 20
8. Java Programming Language
Files and File I/O (Contd.)
Creating a new File Object:
File myFile;
The File class provides several utilities:
myFile = new File("myfile.txt");
myFile = new File("MyDocs", "myfile.txt");
Directories are treated just like files in Java; the File class
supports methods for retrieving an array of files in the
directory, as follows:
File myDir = new File("MyDocs");
myFile = new File(myDir, "myfile.txt");
Ver. 1.0 Session 8 Slide 8 of 20
9. Java Programming Language
Files and File I/O (Contd.)
For file input:
– Use the FileReader class to read characters.
– Use the BufferedReader class to use the readLine()
method.
For file output:
– Use the FileWriter class to write characters.
– Use the PrintWriter class to use the print() and
println() methods.
Ver. 1.0 Session 8 Slide 9 of 20
10. Java Programming Language
Files and File I/O (Contd.)
The application program can use the following methods of
the java.io package to read input lines from the keyboard
and write each line to a file:
Create file
File file = new File(args[0]);
Create a buffered reader to read each line from the keyboard
InputStreamReader isr=new
InputStreamReader(System.in);
BufferedReader in = new BufferedReader(isr);
Create a print writer on this file
PrintWriter out = new PrintWriter(new
FileWriter(file));
Ver. 1.0 Session 8 Slide 10 of 20
11. Java Programming Language
Files and File I/O (Contd.)
Read each line from the input stream and print to a file one line
at a time:
s = in.readLine();
out.println(s);
The application program can use the following methods of
the java.io package to read from a text file and display
each line on the standard output.
Create file:
File file = new File(args[0]);
Create a buffered reader to read each line from the keyboard:
BufferedReader in = new BufferedReader(new
FileReader(file));
Ver. 1.0 Session 8 Slide 11 of 20
12. Java Programming Language
Files and File I/O (Contd.)
Read each line from the file and displays it on the standard
output:
s = in.readLine();
System.out.println(s);
Ver. 1.0 Session 8 Slide 12 of 20
13. Java Programming Language
Demonstration
Lets see how to read data from a file and display the output on
the standard output device. This demo also shows how to run a
program with user provided command line arguments.
Ver. 1.0 Session 8 Slide 13 of 20
14. Java Programming Language
The Collections API
A collection is a single object representing a group of
objects known as its elements.
The Collections API contains interfaces that group objects
as one of the following:
– Collection: A group of objects called elements; any specific
ordering (or lack of) and allowance of duplicates is specified by
each implementation.
– Set: An unordered collection; no duplicates are permitted.
– List: An ordered collection; duplicates are permitted.
Ver. 1.0 Session 8 Slide 14 of 20
15. Java Programming Language
Generics
Generics are described as follows:
Provides compile-time type safety
Eliminates the need for casts
Example of before Generics code:
ArrayList list = new ArrayList();
list.add(0, new Integer(42));
int total =
((Integer)list.get(0)).intValue();
Example of after Generics code:
ArrayList<Integer> list = new
ArrayList<Integer>();
list.add(0, new Integer(42));
int total = list.get(0).intValue();
Ver. 1.0 Session 8 Slide 15 of 20
17. Java Programming Language
Iterators
Iteration is the process of retrieving every element in a
collection.
An iterator of a set is unordered.
A ListIterator of a List can be scanned forwards
(using the next method) or backwards (using the previous
method).
List list = new ArrayList();
// add some elements
Iterator elements = list.iterator();
while ( elements.hasNext() ) {
System.out.println(elements.next());
}
Ver. 1.0 Session 8 Slide 17 of 20
18. Java Programming Language
Enhanced for Loop
The enhanced for loop has the following characteristics:
Simplified iteration over collections
Much shorter, clearer, and safer
Effective for arrays
Simpler when using nested loops
Iterator disadvantages removed
Iterators are error prone:
Iterator variables occur three times per loop.
This provides the opportunity for code to go wrong.
Ver. 1.0 Session 8 Slide 18 of 20
19. Java Programming Language
Summary
In this session, you learned that:
– A program can be parameterized by command-line arguments
and system properties.
– Applications interaction with the user is accomplished using
text input and output to the console.
– The Scanner class provides formatted input functionality. It is
a part of the java.util package.
– Java.io package enables you to create file objects, manipulate
them, and read and write to the file streams.
– The J2SE platform supports file input in two forms:
• The FileReader class to read characters.
• The BufferedReader class to use the readLine method.
The J2SE platform supports file output in two forms:
• The FileWriter class to write characters.
• The PrintWriter class to use the print and println methods.
Ver. 1.0 Session 8 Slide 19 of 20
20. Java Programming Language
Summary (Contd.)
A collection is a single object representing a group of objects.
These objects are known as elements. There are two types of
collections:
• Set: It is an unordered collection, where no duplicates are
permitted.
• List: It is an ordered collection, where duplicates are permitted.
– The Iterator interface enables you to scan forward through
any collection. The enhanced for loop can be used to iterate
through a collection.
– Generics provide compile-time type safety and eliminate the
need for casts.
Ver. 1.0 Session 8 Slide 20 of 20