Simple Text I O Jan 14 2019 java util Scanner Java finally has a fairly simple way to read input First you must create a Scanner object To read from the keyboard System in do Scanner scanner new Scanner System in To read from a file do File myFile new File myFileName txt Scanner scanner new Scanner myFile You have to be prepared to handle a FileNotFound exception You can even read from a String Scanner scanner new Scanner myString This can be handy for parsing a string Using the Scanner First you should make sure there is something to scan scanner hasNext boolean You wouldn t use this when reading from the keyboard You can read a line at a time Or you can read one token at a time A token is any sequence of nonwhitespace characters scanner next String You must be prepared to deal with exceptions scanner nextLine String Eclipse will tell you what you need to do These return Strings which you can convert to numbers or other types if you like There are also methods to check for and return primitives directly Scanning for primitives You can read in and convert text And test if you have to primitives something to read boolean b sc nextBoolean byte by sc nextByte short sh sc nextShort int i sc nextInt long l sc nextLong float f sc nextFloat double d sc nextDouble hasNextBoolean hasNextByte hasNextShort hasNextInt hasNextLong hasNextFloat hasNextDouble Formatted output System out println Math PI will print out 3 141592653589793 Prior to Java 1 5 you had to figure out how to do this yourself If you want to print out this number as 3 1416 or 3 14 you need to format it If you want to print out numbers in neat columns you need to format them Java 1 5 introduced the Formatter class to do formatting for you In typical Java style Formatter can do just about anything but doesn t try to make the common things easy For the most part we won t use the Formatter class directly but will use System out format Formatted output Java 5 has a printf method similar to that of C Each format code is width code The width is the number of characters that are output with blank fill Some values for the code are s for strings d for integers f for floating point numbers b for booleans By default output is right justified A negative width means to left justify the output For floating point numbers the width has the form total right where total is the total width and right is the number of digits to the right of the decimal point There are a huge number of options for formatting dates which we won t cover Examples System out printf Left justified System out printf Right justified System out printf Left justified System out printf Right justified System out printf Left justified System out printf Right justified System out format Left justified System out format Right justified System out format Left justified System out format Right justified Left justified Right justified Left justified Right justified Left justified Right justified Left justified Right justified Left justified Right justified abc abc 25 25 3 1416 3 1416 3 14 3 14 true true 8s n abc 8s n abc 8d n 25 8d n 25 8 4f n Math PI 8 4f n Math PI 8 2f n Math PI 8 2f n Math PI 8b n true 8b n true But wait there s more We have just scratched the surface of the Scanner and Formatter classes See the Java API for more details The End
View Full Document
Unlocking...