1 / 12

SE-1021 Software Engineering II

Learn about reading and writing text and binary data in different file formats. Explore the BlocksMania game and understand how to load levels and manipulate data.

rschwab
Télécharger la présentation

SE-1021 Software Engineering II

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SE-1021Software Engineering II • Week 9, Class 3 • Get ready for PollEverywhere! • BlocksMania and File I/O • Reading/Writing text in ASCII, Unicode, and UTF-8 • Reading/Writing binary data • Handy tool for finding files

  2. HW • See hw/ on web • https://faculty-web.msoe.edu/yoder/se1021/hw/ SE-1021 Dr. Josiah Yoder Slide style: Dr. Hornick

  3. PollEverywhere Responses • PollEverywhere responses for the last lecture are available at slides/se1021-9-1-pollEverywhereResponses • Shows what I see for non-anonymous questions SE-1021 Dr. Josiah Yoder Slide style: Dr. Hornick

  4. Useful Resources • JOptionPane advanced features • Dean & Dean, pp. 784-787 • JFileChooser (D&D, pp. 748-753) • JDialog • For creating a more advanced “JOptionPane” (e.g. with multiple fields) • javax.swing.Timer • For having regularly-repeating events (or other timed events) SE-1021 Dr. Josiah Yoder Slide style: Dr. Hornick

  5. Editing binary files • Check out Be.HexEdit SE-1021 Dr. Josiah Yoder Slide style: Dr. Hornick

  6. File I/O (1) • Low-level file I/O for raw byte I/O, similar to System.in.read() and System.out.write() • FileInputStream — reads raw bytes • FileOutputStream — writes raw bytes • Text file I/O for I/O of text • Scanner - reads & parses text (provides readLine) • PrintWriter - writes text • Text file I/O (alternate, perhaps more complicated) • BufferedReader - Provides readLine

  7. File I/O (2) • High-level file I/O for I/O of primitive data types • DataInputStream — reads primitive data types • DataOutputStream — writes primitive data types • Object file I/O for I/O of arbitrary object data • ObjectInputStream — reads arbitrary object data • ObjectOutputStream — writes arbitrary object data SE-1021 Dr. Josiah Yoder Slide style: Dr. Hornick

  8. SE-2811 Dr. Josiah Yoder Slide style: Dr. Hornick

  9. BlocksMania load-level • GameBoard class • (See example) • Simple tile class SE-1021 Dr. Josiah Yoder Slide style: Dr. Hornick

  10. BlocksMania Tile • [TODO: How to prep this question?] • Since the type will be the same for every object from the Tile class, can you think of a better way to store this information? SE-1021 Dr. Josiah Yoder Slide style: Dr. Hornick

  11. Consider this code: for(int col = 0; col<numCols && col<line.length()+1; col++) { c = line.charAt(col+1); } How can we fix this to skip the first character, and have col line up with the column headers? SE-2811 Dr. Josiah Yoder Slide style: Dr. Hornick

  12. DO ONLINE: PollEv.com/ yoderj SE-2811 Dr. Josiah Yoder Slide style: Dr. Hornick

More Related