Mark Fontenot CSE 1341 - Honors Principles of Computer Science I Note Set 15.

Slides:



Advertisements
Similar presentations
Java File I/O. File I/O is important! Being able to write and read from files is necessary and is also one common practice of a programmer. Examples include.
Advertisements

Chapter 10 Ch 1 – Introduction to Computers and Java Streams and File IO 1.
MOD III. Input / Output Streams Byte streams Programs use byte streams to perform input and output of 8-bit bytes. This Stream handles the 8-bit.
Slide 10.1 Advanced Programming 2004, based on LY Stefanus’s Slides Object Serialization Object serialization: the process of converting an object into.
 We can use a combination of the File and FileOutputStream to write a series of bytes to a file.
CS 206 Introduction to Computer Science II 01 / 21 / 2009 Instructor: Michael Eckmann.
1 File Output. 2 So far… So far, all of our output has been to System.out  using print(), println(), or printf() All input has been from System.in 
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
James Tam Simple File Input And Output Types of Java Files Simple File Output in Java Simple File Input in Java.
MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition.
Announcements Quiz 2 Grades Posted on blackboard.
CSC – Java Programming II Lecture 9 January 30, 2002.
1 Course Lectures Available on line:
COMP 110 Spring Announcements Computers in class on Friday: Lab Office Hours: Monday 12-2 New students see me after class Administrative Changes.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Chapter 1: Introduction to Computers and Programming.
CIS 270—Application Development II Chapter 14—Files and Streams.
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Introduction Files –Long-term storage of large amounts of data –Persistent data exists after termination of program –Files stored on secondary storage.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
Prepared by : A.Alzubair Hassan Kassala university Dept. Computer Science Lecture 2 I/O Streams 1.
The string data type String. String (in general) A string is a sequence of characters enclosed between the double quotes "..." Example: Each character.
Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 2.
Streams Reading: 2 nd Ed: , rd Ed: 11.1, 19.1, 19.4
File I/O Static void Main( ) {... } data. Topics I/O Streams Reading and Writing Text Files Formatting Text Files Handling Stream Errors File Pointers.
Chapter 9 1 Chapter 9 – Part 1 l Overview of Streams and File I/O l Text File I/O l Binary File I/O l File Objects and File Names Streams and File I/O.
Netprog: Java Intro1 Crash Course in Java. Netprog: Java Intro2 Why Java? Network Programming in Java is very different than in C/C++ –much more language.
CS 206 Introduction to Computer Science II 09 / 10 / 2009 Instructor: Michael Eckmann.
Chapter 14 - Designing Data Access Classes1 Chapter 14 Designing Data Access Classes.
Reference: Lecturer Lecturer Reham O. Al-Abdul Jabba lectures for cap211 Files and Streams- I.
1 Week 12 l Overview of Streams and File I/O l Text File I/O Streams and File I/O.
Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 5.
College Board A.P. Computer Science A Topics Program Design - Read and understand a problem's description, purpose, and goals. Procedural Constructs -
Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 6.
Fall 2002CS 150: Intro. to Computing1 Streams and File I/O (That is, Input/Output) OR How you read data from files and write data to files.
Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 11.
 Pearson Education, Inc. All rights reserved Files and Streams.
Object Serialization.  When the data was output to disk, certain information was lost, such as the type of each value.  If the value "3" is read from.
Using the while-statement to process data files. General procedure to access a data file General procedure in computer programming to read data from a.
Computer Organization and Design Pointers, Arrays and Strings in C Montek Singh Sep 18, 2015 Lab 5 supplement.
 In the java programming language, a keyword is one of 50 reserved words which have a predefined meaning in the language; because of this,
1 Exceptions Exception handling – Exception Indication of problem during execution – E.g., divide by zero – Chained exceptions Uses of exception handling.
I/O Basics 26 January Aside from print( ) and println( ), none of the I/O methods have been used significantly. The reason is simple: most real.
 Learn about computer files  Use the Path class  Learn about  Streams  Buffers  file organization  Use Java’s IO classes to write to and read from.
Spring 2008 Mark Fontenot CSE Honors Principles of Computer Science I Note Set 20.
COMP 110: Spring Announcements Program 5 Milestone 1 was due today Program 4 has been graded.
Creating Java Applications (Software Development Life Cycle) 1. specify the problem requirements - clarify 2. analyze the problem - Input? Processes? Output.
C Programming Day 2. 2 Copyright © 2005, Infosys Technologies Ltd ER/CORP/CRS/LA07/003 Version No. 1.0 Union –mechanism to create user defined data types.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Eighth Edition by Tony Gaddis,
1 CSE 331 Memento Pattern and Serialization slides created by Marty Stepp based on materials by M. Ernst, S. Reges, D. Notkin, R. Mercer, Wikipedia
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
FILES AND EXCEPTIONS Topics Introduction to File Input and Output Using Loops to Process Files Processing Records Exceptions.
Programs and Data Files Data information processed by word processing, spreadsheet and similar application programs are stored as data files. Java programs,
Mark Fontenot CSE Honors Principles of Computer Science I Note Set 6.
BINARY I/O IN JAVA CSC 202 November What should be familiar concepts after this set of topics: All files are binary files. The nature of text files.
Chapter 1: Introduction to Computers and Programming
Computer Organization and Design Pointers, Arrays and Strings in C
Sixth Lecture ArrayList Abstract Class and Interface
Introduction to programming in java
Introduction to Computer Science / Procedural – 67130
I/O Basics.
Computer Programming Methodology File Input
Accessing Files in Java
Chapter 1: Introduction to Computers and Programming
CSS161: Fundamentals of Computing
Topics Introduction to File Input and Output
MSIS 670: Object-Oriented Software Engineering
CSE 331 Memento Pattern slides created by Marty Stepp based on materials by M. Ernst, S. Reges, D. Notkin, R. Mercer, Wikipedia
Chapter 15 Files, Streams and Object Serialization
Chapter 1: Introduction to Computers and Programming
Presentation transcript:

Mark Fontenot CSE Honors Principles of Computer Science I Note Set 15

Note Set 19 Overview Intro to ArrayLists File and Streams

ArrayList One of Java’s Container Classes Containers hold other things Can hold unlimited number of object references of any type (all need to be the same type – but remember about inheritance) No need to worry about running out of places (unless you run out of memory) ArrayList list = new ArrayList (); list.add(“Southern”); list.add(“Methodist”); list.add(“University”);

Arraylist Useful Methods size() – returns the size of the arraylist get (int i) – returns the reference stored at the specified position i remove( int i) – removes the object references stored at position i and moves the ones after forward ArrayList v = new ArrayList (); v.add(“one”); v.add(“two”); v.add(“three”); for(int i = 0; i < v.size(); i++) System.out.println(v.get());

Arraylists Can only hold object references Can’t do ArrayList v = new ArrayList (); ArrayList l = new ArrayList (); l.add(1); l.add(2); l.add(3); for (Integer x: l){ System.out.println(x * 2); } -adding ints, not Integers -They are automatically converted to Integer ojbects Automatically converted from Integers to ints

Currently Data in an executing program Stored in RAM while program is in execution When program ends, data is no longer accessible RAM is volatile storage – must have powered to maintain state (retain data)

Persistent Storage Non-volatile memory – doesn’t need power to maintain state Data can survive a power cycle Examples hard-drive CDs USB drive (flash memory)

File processing Part of nearly all languages Stream – ordered data read or written abstraction in Java Two types of file processing in Java for us Text-based file i/o Binary File I/O - Object serialization (storing objects directly to file) Object serialization/deserialzation

Data Hierarchy Lowest level – 1s & 0s - The bit “easy” to create computer hardware that only had to maintain two states 2 bits – 4 combinations 00, 01, 10, 11 3 bits – 8 combination 000, 001, 010, 011, 100, 101, 110, bits – 16 combinations n bits – 2 n combinations 8 bits –> 1 byte Java uses 2 bytes to represent a character (16 bytes) – Unicode character set Unicode contains characters from many of the worlds languages

Data Hierarchy Can group characters to make fields i.e. string of characters to make name Group of fields makes a record record is implemented as a class in java think about just the data stored in the data members of one instance of an object Name, Id, Address, etc… Group of records can be stored in a file Employee file Customer file Inventory file

Java and Files Each file – sequential stream of bytes How that stream/sequence is interpreted is up to the programmer who reads/writes the file How do we know when we’re done reading? OS provides some mechanism to know that the complete contents of the file have been read (sentinel value) programmer knows exactly how many “things” to read from the file 2 Types of File I/O Character File I/O Writing text to files Binary File I/O Writing byte data or complete objects

Sample class public class Account { private String acctNum; private String fName; private double balance; public Account (String num, String name, double bal) { acctNum = num; fName = name; balance = bal; } //Assume Accessors and Mutators for each data member }

Sample Output import java.util.*; import java.io.*; public class FileOutput { public static void main (String [] args) { //Create an arraylist to store customers ArrayList customers = new ArrayList (); //create some sample customers and add to list Account a = new Account ("123", "Sam", ); customers.add(a); a = new Account("234", "Sue", ); customers.add(a); a = new Account("144", "Mark", ); customers.add(a);

Sample Output //open a file Formatter output = null; //must open the file in a try catch block try { output = new Formatter("data.txt"); } catch (IOException e) { System.out.println("There is an error - exiting"); System.exit(1); } //write everything from list to output for (Account x: customers) output.format("%s %s %.2f\n", x.getAcctNum(), x.getFName(), x.getBalance()); output.close(); } This is text-based or character-based file I/O.

Sample Read import java.util.*; import java.io.*; public class FileInput { public static void main (String [] args) { //List to put the objects we're going to read from the file ArrayList list = new ArrayList (); //We'll use a scanner object to read from the file. //Are there other ways? Of course... Scanner s = null; try { s = new Scanner (new File ("data.txt")); } catch (IOException e) { System.out.println("Error opening file"); System.exit(1); }

Sample Read //Temp variables to store values read from file String aNum, fName; double bal; while (s.hasNext()) { aNum = s.next(); fName = s.next(); bal = s.nextDouble(); Account a = new Account(aNum, fName, bal); list.add(a); } //print the customers out for(Account x: list) System.out.println(x); } could be replaced with: Account a = new Account (s.next(), s.next(), s.nextDouble());