diff --git a/.gitignore b/.gitignore
index 1e6a5ad..1e4cb7e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -183,3 +183,8 @@
/Semester 3/Assignments/JavaFXBallsWithComparator/target/
/Semester 3/Assignments/MP4_CalebFontenot/target/
/Semester 3/MP5-Binary-Files_CalebFontenot/target/
+/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot2/target/
+/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot2/MP5-Binary-Files_CalebFontenot/build/
+/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot2/MP5-Binary-Files_CalebFontenot/nbproject/private/
+/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/build/
+/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/private/
diff --git a/Semester 3/Assignments/DBConnectionTest/src/main/java/edu/slcc/asdv/caleb/dbconnectiontest/Database.java b/Semester 3/Assignments/DBConnectionTest/src/main/java/edu/slcc/asdv/caleb/dbconnectiontest/Database.java
index 7a14ad5..c6d93e6 100644
--- a/Semester 3/Assignments/DBConnectionTest/src/main/java/edu/slcc/asdv/caleb/dbconnectiontest/Database.java
+++ b/Semester 3/Assignments/DBConnectionTest/src/main/java/edu/slcc/asdv/caleb/dbconnectiontest/Database.java
@@ -22,8 +22,8 @@ public class Database
String databaseName = "suppliers_parts_23";
String userName = "admin";
String password = "RangerDog01!";
- String URL2 = "com.mysql.jdbc.Driver";
- //String URL2 = "com.mysql.cj.jdbc.Driver";
+ //String URL2 = "com.mysql.jdbc.Driver";
+ String URL2 = "com.mysql.cj.jdbc.Driver";
Connection con = null;
try
{// Load Sun's jdbc driver
@@ -37,7 +37,8 @@ public class Database
return null;
}
String ip = "localhost"; //internet connection
- String url = "jdbc:mysql://" + ip + ":3306/" + databaseName;
+ String url = "jdbc:mysql://" + ip + ":3306/" + databaseName +"&useSSL=false";
+ System.out.println(url);
try
{
con = DriverManager.getConnection(url, userName, password);
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/AddressBookFX.dat b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/AddressBookFX.dat
new file mode 100644
index 0000000..a09ab67
Binary files /dev/null and b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/AddressBookFX.dat differ
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build.xml b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build.xml
new file mode 100644
index 0000000..555a74e
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+ Builds, tests, and runs the project MP5-Binary-Files_CalebFontenot.
+
+
+
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/.netbeans_automatic_build b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/.netbeans_automatic_build
new file mode 100644
index 0000000..e69de29
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/.netbeans_update_resources b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/.netbeans_update_resources
new file mode 100644
index 0000000..e69de29
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/AddressBookEntry.class b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/AddressBookEntry.class
new file mode 100644
index 0000000..8d6c630
Binary files /dev/null and b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/AddressBookEntry.class differ
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/AddressBookFX.class b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/AddressBookFX.class
new file mode 100644
index 0000000..1ed2850
Binary files /dev/null and b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/AddressBookFX.class differ
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/App.class b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/App.class
new file mode 100644
index 0000000..6739077
Binary files /dev/null and b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/App.class differ
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/DataContainer.class b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/DataContainer.class
new file mode 100644
index 0000000..097a7ad
Binary files /dev/null and b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/DataContainer.class differ
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/Exercise17_01.class b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/Exercise17_01.class
new file mode 100644
index 0000000..45acb0b
Binary files /dev/null and b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/Exercise17_01.class differ
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/Exercise17_03.class b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/Exercise17_03.class
new file mode 100644
index 0000000..26153f5
Binary files /dev/null and b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/Exercise17_03.class differ
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/Exercise17_05.class b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/Exercise17_05.class
new file mode 100644
index 0000000..cd75a38
Binary files /dev/null and b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/Exercise17_05.class differ
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/Exercise17_05.rs b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/Exercise17_05.rs
new file mode 100644
index 0000000..d9fe1c6
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/Exercise17_05.rs
@@ -0,0 +1,2 @@
+com.calebfontenot.mp5.files_calebfontenot.Exercise17_05
+com.calebfontenot.mp5.files_calebfontenot.DataContainer
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/SystemInfo.class b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/SystemInfo.class
new file mode 100644
index 0000000..6302818
Binary files /dev/null and b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/com/calebfontenot/mp5/files_calebfontenot/SystemInfo.class differ
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/module-info.class b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/module-info.class
new file mode 100644
index 0000000..11b253c
Binary files /dev/null and b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/build/classes/module-info.class differ
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/manifest.mf b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/manifest.mf
new file mode 100644
index 0000000..328e8e5
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/manifest.mf
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+X-COMMENT: Main-Class will be added automatically by build
+
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/build-impl.xml b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/build-impl.xml
new file mode 100644
index 0000000..22ab97e
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/build-impl.xml
@@ -0,0 +1,1771 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must set src.dir
+ Must set test.src.dir
+ Must set build.dir
+ Must set dist.dir
+ Must set build.classes.dir
+ Must set dist.javadoc.dir
+ Must set build.test.classes.dir
+ Must set build.test.results.dir
+ Must set build.classes.excludes
+ Must set dist.jar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must set javac.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ No tests executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must set JVM to use for profiling in profiler.info.jvm
+ Must set profiler agent JVM arguments in profiler.info.jvmargs.agent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select some files in the IDE or set javac.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ To run this application from the command line without Ant, try:
+
+ java -jar "${dist.jar.resolved}"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set debug.class
+
+
+
+
+ Must select one file in the IDE or set debug.class
+
+
+
+
+ Must set fix.includes
+
+
+
+
+
+
+
+
+
+ This target only works when run from inside the NetBeans IDE.
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set profile.class
+ This target only works when run from inside the NetBeans IDE.
+
+
+
+
+
+
+
+
+ This target only works when run from inside the NetBeans IDE.
+
+
+
+
+
+
+
+
+
+
+
+
+ This target only works when run from inside the NetBeans IDE.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+
+
+ Must select some files in the IDE or set test.includes
+
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+
+ Must select one file in the IDE or set applet.url
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select some files in the IDE or set javac.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Some tests failed; see details above.
+
+
+
+
+
+
+
+
+ Must select some files in the IDE or set test.includes
+
+
+
+ Some tests failed; see details above.
+
+
+
+ Must select some files in the IDE or set test.class
+ Must select some method in the IDE or set test.method
+
+
+
+ Some tests failed; see details above.
+
+
+
+
+ Must select one file in the IDE or set test.class
+
+
+
+ Must select one file in the IDE or set test.class
+ Must select some method in the IDE or set test.method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set applet.url
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set applet.url
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/genfiles.properties b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/genfiles.properties
new file mode 100644
index 0000000..5585d25
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=a0844a83
+build.xml.script.CRC32=dee8d968
+build.xml.stylesheet.CRC32=f85dc8f2@1.108.0.48
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=a0844a83
+nbproject/build-impl.xml.script.CRC32=025ed557
+nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.108.0.48
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/private/config.properties b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/private/config.properties
new file mode 100644
index 0000000..e69de29
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/private/private.properties b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/private/private.properties
new file mode 100644
index 0000000..c429516
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/private/private.properties
@@ -0,0 +1,8 @@
+compile.on.save=true
+do.depend=false
+do.jar=true
+do.jlink=false
+javac.debug=true
+javadoc.preview=true
+jlink.strip=false
+user.properties.file=/home/caleb/.netbeans/19/build.properties
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/private/private.xml b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/private/private.xml
new file mode 100644
index 0000000..ec0bc79
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/private/private.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+ file:/home/caleb/ASDV-WebDev/Semester%202/Assignments/MP5-Binary-Files_CalebFontenot/src/module-info.java
+ file:/home/caleb/ASDV-WebDev/Semester%202/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/AddressBookFX.java
+ file:/home/caleb/ASDV-WebDev/Semester%202/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_05.java
+ file:/home/caleb/ASDV-WebDev/Semester%202/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/App.java
+
+
+
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/project.properties b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/project.properties
new file mode 100644
index 0000000..ded35af
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/project.properties
@@ -0,0 +1,121 @@
+annotation.processing.enabled=true
+annotation.processing.enabled.in.editor=false
+annotation.processing.processors.list=
+annotation.processing.run.all.processors=true
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
+application.title=MP5-Binary-Files_CalebFontenot
+application.vendor=caleb
+auxiliary.com-github-philippefichet-sonarlint4netbeans.excludedRules=[{"repository":"php","rule":"S3335"},{"repository":"php","rule":"S3336"},{"repository":"php","rule":"S2002"},{"repository":"php","rule":"S2005"},{"repository":"php","rule":"S3333"},{"repository":"php","rule":"S3334"},{"repository":"Web","rule":"ImgWithoutWidthOrHeightCheck"},{"repository":"php","rule":"S1151"},{"repository":"php","rule":"S3332"},{"repository":"php","rule":"S2001"},{"repository":"php","rule":"S2000"},{"repository":"typescript","rule":"S4798"},{"repository":"javascript","rule":"S3801"},{"repository":"typescript","rule":"S2138"},{"repository":"typescript","rule":"S2376"},{"repository":"java","rule":"S4288"},{"repository":"php","rule":"S5867"},{"repository":"java","rule":"S6211"},{"repository":"java","rule":"S2096"},{"repository":"java","rule":"S6212"},{"repository":"php","rule":"S2011"},{"repository":"typescript","rule":"S4328"},{"repository":"typescript","rule":"S4204"},{"repository":"typescript","rule":"S4324"},{"repository":"Web","rule":"PageWithoutFaviconCheck"},{"repository":"typescript","rule":"S4327"},{"repository":"typescript","rule":"S4326"},{"repository":"typescript","rule":"S3353"},{"repository":"typescript","rule":"S1172"},{"repository":"typescript","rule":"S2260"},{"repository":"java","rule":"S5128"},{"repository":"php","rule":"S2007"},{"repository":"php","rule":"S3337"},{"repository":"php","rule":"S3338"},{"repository":"javascript","rule":"S139"},{"repository":"javascript","rule":"S135"},{"repository":"javascript","rule":"S138"},{"repository":"javascript","rule":"S131"},{"repository":"javascript","rule":"S134"},{"repository":"javascript","rule":"S2817"},{"repository":"typescript","rule":"S3003"},{"repository":"typescript","rule":"S1067"},{"repository":"typescript","rule":"S1066"},{"repository":"Web","rule":"S1829"},{"repository":"java","rule":"S4174"},{"repository":"Web","rule":"IllegalTabCheck"},{"repository":"typescript","rule":"S3499"},{"repository":"typescript","rule":"S3257"},{"repository":"typescript","rule":"S1192"},{"repository":"typescript","rule":"S3498"},{"repository":"php","rule":"S5856"},{"repository":"java","rule":"S2063"},{"repository":"java","rule":"S3030"},{"repository":"java","rule":"S3032"},{"repository":"Web","rule":"DoubleQuotesCheck"},{"repository":"Web","rule":"MaxLineLengthCheck"},{"repository":"java","rule":"S105"},{"repository":"typescript","rule":"S1488"},{"repository":"Web","rule":"LongJavaScriptCheck"},{"repository":"java","rule":"S103"},{"repository":"Web","rule":"WmodeIsWindowCheck"},{"repository":"java","rule":"S104"},{"repository":"java","rule":"S109"},{"repository":"typescript","rule":"S3786"},{"repository":"javascript","rule":"S1821"},{"repository":"java","rule":"S113"},{"repository":"java","rule":"S4248"},{"repository":"php","rule":"S1105"},{"repository":"php","rule":"S1106"},{"repository":"php","rule":"S1121"},{"repository":"typescript","rule":"S3317"},{"repository":"typescript","rule":"S1131"},{"repository":"java","rule":"S2059"},{"repository":"java","rule":"S2057"},{"repository":"java","rule":"S6411"},{"repository":"php","rule":"S1117"},{"repository":"java","rule":"S3052"},{"repository":"typescript","rule":"S881"},{"repository":"php","rule":"S1451"},{"repository":"Web","rule":"NonConsecutiveHeadingCheck"},{"repository":"java","rule":"S126"},{"repository":"typescript","rule":"S5867"},{"repository":"java","rule":"S134"},{"repository":"java","rule":"S4266"},{"repository":"java","rule":"S2196"},{"repository":"java","rule":"S2197"},{"repository":"java","rule":"S118"},{"repository":"typescript","rule":"S1154"},{"repository":"java","rule":"S121"},{"repository":"java","rule":"S122"},{"repository":"php","rule":"S1578"},{"repository":"php","rule":"S5935"},{"repository":"java","rule":"S3047"},{"repository":"php","rule":"S4142"},{"repository":"typescript","rule":"S1441"},{"repository":"java","rule":"S2701"},{"repository":"typescript","rule":"S1440"},{"repository":"php","rule":"S881"},{"repository":"java","rule":"S138"},{"repository":"typescript","rule":"S3514"},{"repository":"java","rule":"S139"},{"repository":"typescript","rule":"S2427"},{"repository":"typescript","rule":"S3512"},{"repository":"typescript","rule":"S2424"},{"repository":"typescript","rule":"S3513"},{"repository":"typescript","rule":"S1451"},{"repository":"Web","rule":"IllegalNamespaceCheck"},{"repository":"xml","rule":"S3419"},{"repository":"typescript","rule":"S3525"},{"repository":"Web","rule":"WhiteSpaceAroundCheck"},{"repository":"typescript","rule":"S3402"},{"repository":"typescript","rule":"S1105"},{"repository":"typescript","rule":"S3524"},{"repository":"java","rule":"S3937"},{"repository":"xml","rule":"S1120"},{"repository":"java","rule":"S1996"},{"repository":"xml","rule":"S3420"},{"repository":"xml","rule":"S3423"},{"repository":"Web","rule":"InternationalizationCheck"},{"repository":"java","rule":"S6073"},{"repository":"css","rule":"S4664"},{"repository":"typescript","rule":"S2208"},{"repository":"typescript","rule":"S4622"},{"repository":"typescript","rule":"S3533"},{"repository":"php","rule":"S2070"},{"repository":"typescript","rule":"S1117"},{"repository":"typescript","rule":"S1116"},{"repository":"java","rule":"S2959"},{"repository":"typescript","rule":"S1110"},{"repository":"Web","rule":"S1436"},{"repository":"xml","rule":"S2321"},{"repository":"php","rule":"S2047"},{"repository":"php","rule":"S2046"},{"repository":"typescript","rule":"S1528"},{"repository":"php","rule":"S2043"},{"repository":"javascript","rule":"S117"},{"repository":"php","rule":"S2042"},{"repository":"php","rule":"S2044"},{"repository":"javascript","rule":"S113"},{"repository":"Web","rule":"MouseEventWithoutKeyboardEquivalentCheck"},{"repository":"javascript","rule":"S4139"},{"repository":"typescript","rule":"S1526"},{"repository":"typescript","rule":"S1525"},{"repository":"php","rule":"NoSonar"},{"repository":"typescript","rule":"S1539"},{"repository":"Web","rule":"IllegalTagLibsCheck"},{"repository":"php","rule":"S2050"},{"repository":"typescript","rule":"S1774"},{"repository":"javascript","rule":"S126"},{"repository":"typescript","rule":"S1530"},{"repository":"javascript","rule":"S121"},{"repository":"typescript","rule":"S1537"},{"repository":"typescript","rule":"S1535"},{"repository":"javascript","rule":"S122"},{"repository":"typescript","rule":"S909"},{"repository":"php","rule":"S5899"},{"repository":"java","rule":"S5194"},{"repository":"typescript","rule":"S3723"},{"repository":"php","rule":"S2260"},{"repository":"typescript","rule":"S1541"},{"repository":"java","rule":"S1711"},{"repository":"javascript","rule":"S1192"},{"repository":"php","rule":"S2278"},{"repository":"php","rule":"S2036"},{"repository":"php","rule":"S2277"},{"repository":"php","rule":"S1067"},{"repository":"php","rule":"S2038"},{"repository":"php","rule":"S2037"},{"repository":"javascript","rule":"S106"},{"repository":"javascript","rule":"S109"},{"repository":"php","rule":"S5783"},{"repository":"javascript","rule":"S3498"},{"repository":"javascript","rule":"S103"},{"repository":"javascript","rule":"S3499"},{"repository":"javascript","rule":"S105"},{"repository":"javascript","rule":"S104"},{"repository":"typescript","rule":"S1438"},{"repository":"java","rule":"S1939"},{"repository":"typescript","rule":"S3973"},{"repository":"javascript","rule":"S100"},{"repository":"java","rule":"S1821"},{"repository":"java","rule":"S1942"},{"repository":"java","rule":"S1943"},{"repository":"java","rule":"S1820"},{"repository":"java","rule":"S1941"},{"repository":"Web","rule":"HeaderCheck"},{"repository":"Web","rule":"UnclosedTagCheck"},{"repository":"typescript","rule":"S2817"},{"repository":"javascript","rule":"S3003"},{"repository":"typescript","rule":"S2933"},{"repository":"java","rule":"S2309"},{"repository":"php","rule":"S126"},{"repository":"css","rule":"S5362"},{"repository":"java","rule":"S4605"},{"repository":"java","rule":"S4604"},{"repository":"java","rule":"S2308"},{"repository":"xml","rule":"S3282"},{"repository":"php","rule":"S2918"},{"repository":"java","rule":"S2301"},{"repository":"java","rule":"S1696"},{"repository":"java","rule":"S1213"},{"repository":"typescript","rule":"S139"},{"repository":"java","rule":"S1698"},{"repository":"java","rule":"S1699"},{"repository":"php","rule":"S1820"},{"repository":"java","rule":"S3750"},{"repository":"javascript","rule":"S1172"},{"repository":"java","rule":"S1451"},{"repository":"php","rule":"S122"},{"repository":"java","rule":"S1694"},{"repository":"java","rule":"S1695"},{"repository":"php","rule":"S1821"},{"repository":"javascript","rule":"S2260"},{"repository":"javascript","rule":"S3353"},{"repository":"javascript","rule":"S4326"},{"repository":"Web","rule":"UnifiedExpressionCheck"},{"repository":"php","rule":"S134"},{"repository":"java","rule":"S1448"},{"repository":"java","rule":"S2658"},{"repository":"java","rule":"S1449"},{"repository":"java","rule":"S3749"},{"repository":"php","rule":"S139"},{"repository":"javascript","rule":"S1067"},{"repository":"javascript","rule":"S1066"},{"repository":"java","rule":"S1200"},{"repository":"Web","rule":"ComplexityCheck"},{"repository":"javascript","rule":"S2376"},{"repository":"typescript","rule":"S3801"},{"repository":"Web","rule":"RequiredAttributeCheck"},{"repository":"javascript","rule":"S2138"},{"repository":"php","rule":"S104"},{"repository":"java","rule":"S3658"},{"repository":"java","rule":"S2208"},{"repository":"java","rule":"S2444"},{"repository":"javascript","rule":"S1154"},{"repository":"java","rule":"S2203"},{"repository":"java","rule":"S2325"},{"repository":"java","rule":"S3414"},{"repository":"typescript","rule":"S2966"},{"repository":"java","rule":"S1106"},{"repository":"java","rule":"S1228"},{"repository":"java","rule":"S1107"},{"repository":"java","rule":"S1108"},{"repository":"java","rule":"S1109"},{"repository":"xml","rule":"S3373"},{"repository":"java","rule":"S1105"},{"repository":"javascript","rule":"S5867"},{"repository":"java","rule":"S4926"},{"repository":"java","rule":"S1774"},{"repository":"javascript","rule":"S1131"},{"repository":"javascript","rule":"S3798"},{"repository":"javascript","rule":"S3317"},{"repository":"Web","rule":"InputWithoutLabelCheck"},{"repository":"javascript","rule":"S881"},{"repository":"xml","rule":"S2260"},{"repository":"java","rule":"S1641"},{"repository":"java","rule":"S2972"},{"repository":"java","rule":"S2973"},{"repository":"java","rule":"S2974"},{"repository":"javascript","rule":"S3786"},{"repository":"javascript","rule":"S1488"},{"repository":"java","rule":"S923"},{"repository":"typescript","rule":"S1821"},{"repository":"javascript","rule":"S1117"},{"repository":"javascript","rule":"S1116"},{"repository":"java","rule":"S1315"},{"repository":"javascript","rule":"S1110"},{"repository":"java","rule":"S1312"},{"repository":"java","rule":"S1314"},{"repository":"java","rule":"S1310"},{"repository":"javascript","rule":"S3533"},{"repository":"javascript","rule":"S2208"},{"repository":"java","rule":"S1309"},{"repository":"java","rule":"S3725"},{"repository":"Web","rule":"DynamicJspIncludeCheck"},{"repository":"Web","rule":"InlineStyleCheck"},{"repository":"java","rule":"S1541"},{"repository":"java","rule":"S2260"},{"repository":"java","rule":"S2141"},{"repository":"php","rule":"S1311"},{"repository":"java","rule":"S2384"},{"repository":"javascript","rule":"S3760"},{"repository":"javascript","rule":"S3523"},{"repository":"javascript","rule":"S3402"},{"repository":"javascript","rule":"S3524"},{"repository":"javascript","rule":"S3525"},{"repository":"xml","rule":"S105"},{"repository":"typescript","rule":"S4157"},{"repository":"xml","rule":"S103"},{"repository":"java","rule":"S2148"},{"repository":"java","rule":"S2143"},{"repository":"java","rule":"S1176"},{"repository":"java","rule":"S1160"},{"repository":"php","rule":"S1200"},{"repository":"java","rule":"S2250"},{"repository":"java","rule":"S818"},{"repository":"java","rule":"S1162"},{"repository":"java","rule":"S4551"},{"repository":"java","rule":"S2131"},{"repository":"javascript","rule":"S1451"},{"repository":"javascript","rule":"S3512"},{"repository":"javascript","rule":"S2424"},{"repository":"javascript","rule":"S3513"},{"repository":"javascript","rule":"S3514"},{"repository":"javascript","rule":"S3757"},{"repository":"javascript","rule":"S3758"},{"repository":"javascript","rule":"S2427"},{"repository":"javascript","rule":"S2428"},{"repository":"javascript","rule":"S1105"},{"repository":"php","rule":"S5915"},{"repository":"php","rule":"S1314"},{"repository":"java","rule":"S1166"},{"repository":"php","rule":"S1799"},{"repository":"java","rule":"S5793"},{"repository":"java","rule":"S1194"},{"repository":"java","rule":"S2162"},{"repository":"java","rule":"S2164"},{"repository":"javascript","rule":"S1440"},{"repository":"javascript","rule":"S1441"},{"repository":"javascript","rule":"S1442"},{"repository":"Web","rule":"MultiplePageDirectivesCheck"},{"repository":"java","rule":"S3254"},{"repository":"java","rule":"S2047"},{"repository":"php","rule":"S1541"},{"repository":"java","rule":"S3242"},{"repository":"javascript","rule":"S3973"},{"repository":"javascript","rule":"S1438"},{"repository":"Web","rule":"LinkToNothingCheck"},{"repository":"java","rule":"S2039"},{"repository":"java","rule":"S1188"},{"repository":"java","rule":"S1067"},{"repository":"java","rule":"S2156"},{"repository":"java","rule":"S3366"},{"repository":"Web","rule":"LinksIdenticalTextsDifferentTargetsCheck"},{"repository":"java","rule":"S5970"},{"repository":"typescript","rule":"S100"},{"repository":"typescript","rule":"S103"},{"repository":"php","rule":"S1990"},{"repository":"typescript","rule":"S105"},{"repository":"typescript","rule":"S104"},{"repository":"javascript","rule":"S1541"},{"repository":"java","rule":"S864"},{"repository":"javascript","rule":"S3723"},{"repository":"java","rule":"S5979"},{"repository":"java","rule":"NoSonar"},{"repository":"java","rule":"S5977"},{"repository":"java","rule":"S5612"},{"repository":"java","rule":"S1258"},{"repository":"java","rule":"S3437"},{"repository":"Web","rule":"FileLengthCheck"},{"repository":"Web","rule":"JspScriptletCheck"},{"repository":"java","rule":"S2221"},{"repository":"java","rule":"S1132"},{"repository":"javascript","rule":"S909"},{"repository":"java","rule":"S3553"},{"repository":"typescript","rule":"S113"},{"repository":"javascript","rule":"S1530"},{"repository":"javascript","rule":"S1774"},{"repository":"javascript","rule":"S1535"},{"repository":"javascript","rule":"S1537"},{"repository":"javascript","rule":"S1539"},{"repository":"java","rule":"S3306"},{"repository":"typescript","rule":"S106"},{"repository":"java","rule":"S2698"},{"repository":"typescript","rule":"S109"},{"repository":"php","rule":"S1996"},{"repository":"php","rule":"S2964"},{"repository":"java","rule":"S2693"},{"repository":"java","rule":"S1120"},{"repository":"java","rule":"S2694"},{"repository":"java","rule":"S2211"},{"repository":"php","rule":"S1997"},{"repository":"java","rule":"S2333"},{"repository":"java","rule":"S1244"},{"repository":"typescript","rule":"S121"},{"repository":"java","rule":"S1151"},{"repository":"typescript","rule":"S122"},{"repository":"Web","rule":"IllegalElementCheck"},{"repository":"typescript","rule":"S126"},{"repository":"typescript","rule":"S4137"},{"repository":"java","rule":"S888"},{"repository":"javascript","rule":"S1525"},{"repository":"javascript","rule":"S1526"},{"repository":"typescript","rule":"S4139"},{"repository":"javascript","rule":"S1528"},{"repository":"javascript","rule":"S3827"},{"repository":"typescript","rule":"S4136"},{"repository":"java","rule":"S3578"},{"repository":"typescript","rule":"S117"},{"repository":"typescript","rule":"S131"},{"repository":"php","rule":"S2830"},{"repository":"typescript","rule":"S134"},{"repository":"typescript","rule":"S135"},{"repository":"typescript","rule":"S138"},{"repository":"typescript","rule":"S4023"},{"repository":"java","rule":"S881"},{"repository":"java","rule":"S5867"},{"repository":"java","rule":"S1147"},{"repository":"java","rule":"S1142"},{"repository":"php","rule":"S2701"}]
+auxiliary.com-github-philippefichet-sonarlint4netbeans.extraProperties={}
+auxiliary.com-github-philippefichet-sonarlint4netbeans.sonarlint-preference-scope=global
+auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml
+build.classes.dir=${build.dir}/classes
+build.classes.excludes=**/*.java,**/*.form
+# This directory is removed when the project is cleaned:
+build.dir=build
+build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
+# Only compile against the classpath explicitly listed here:
+build.sysclasspath=ignore
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+# Uncomment to specify the preferred debugger connection transport:
+#debug.transport=dt_socket
+debug.classpath=\
+ ${run.classpath}
+debug.modulepath=\
+ ${run.modulepath}
+debug.test.classpath=\
+ ${run.test.classpath}
+debug.test.modulepath=\
+ ${run.test.modulepath}
+# Files in build.classes.dir which should be excluded from distribution jar
+dist.archive.excludes=
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.jar=${dist.dir}/MP5-Binary-Files_CalebFontenot.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+dist.jlink.dir=${dist.dir}/jlink
+dist.jlink.output=${dist.jlink.dir}/MP5-Binary-Files_CalebFontenot
+endorsed.classpath=
+excludes=
+includes=**
+jar.archive.disabled=${jnlp.enabled}
+jar.compress=false
+jar.index=${jnlp.enabled}
+javac.classpath=
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.deprecation=false
+javac.external.vm=true
+javac.modulepath=\
+ ${libs.JavaFX20.classpath}
+javac.processormodulepath=
+javac.processorpath=\
+ ${javac.classpath}
+javac.source=20
+javac.target=20
+javac.test.classpath=\
+ ${javac.classpath}
+javac.test.modulepath=\
+ ${javac.modulepath}:\
+ ${build.classes.dir}
+javac.test.processorpath=\
+ ${javac.test.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.html5=false
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+# The jlink additional root modules to resolve
+jlink.additionalmodules=
+# The jlink additional command line parameters
+jlink.additionalparam=
+jlink.launcher=true
+jlink.launcher.name=MP5-Binary-Files_CalebFontenot
+jnlp.codebase.type=no.codebase
+jnlp.descriptor=application
+jnlp.enabled=false
+jnlp.mixed.code=default
+jnlp.offline-allowed=false
+jnlp.signed=false
+jnlp.signing=
+jnlp.signing.alias=
+jnlp.signing.keystore=
+main.class=com.calebfontenot.mp5.files_calebfontenot.App
+# Optional override of default Application-Library-Allowable-Codebase attribute identifying the locations where your signed RIA is expected to be found.
+manifest.custom.application.library.allowable.codebase=
+# Optional override of default Caller-Allowable-Codebase attribute identifying the domains from which JavaScript code can make calls to your RIA without security prompts.
+manifest.custom.caller.allowable.codebase=
+# Optional override of default Codebase manifest attribute, use to prevent RIAs from being repurposed
+manifest.custom.codebase=
+# Optional override of default Permissions manifest attribute (supported values: sandbox, all-permissions)
+manifest.custom.permissions=
+manifest.file=manifest.mf
+meta.inf.dir=${src.dir}/META-INF
+mkdist.disabled=false
+platform.active=default_platform
+run.classpath=\
+ ${javac.classpath}:\
+ ${build.classes.dir}:\
+ ${libs.JavaFX20.classpath}
+# Space-separated list of JVM arguments used when running the project.
+# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
+# To set system properties for unit tests define test-sys-prop.name=value:
+run.jvmargs=-XX:+UnlockExperimentalVMOptions -XX:+EagerJVMCI -XX:+EnableJVMCI -XX:+UseJVMCICompiler -XX:+UseJVMCINativeLibrary
+run.modulepath=\
+ ${javac.modulepath}
+run.test.classpath=\
+ ${javac.test.classpath}
+run.test.modulepath=\
+ ${javac.test.modulepath}
+source.encoding=UTF-8
+src.dir=src
+test.src.dir=test
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/project.xml b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/project.xml
new file mode 100644
index 0000000..464cc39
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/nbproject/project.xml
@@ -0,0 +1,15 @@
+
+
+ org.netbeans.modules.java.j2seproject
+
+
+ MP5-Binary-Files_CalebFontenot
+
+
+
+
+
+
+
+
+
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/AddressBookFX.java b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/AddressBookFX.java
new file mode 100644
index 0000000..7eeaa25
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/AddressBookFX.java
@@ -0,0 +1,204 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.calebfontenot.mp5.files_calebfontenot;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import javafx.application.Application;
+import javafx.geometry.HPos;
+import javafx.geometry.Pos;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.ColumnConstraints;
+import javafx.scene.layout.GridPane;
+import javafx.scene.layout.RowConstraints;
+import javafx.stage.Stage;
+
+/**
+ *
+ * @author caleb
+ */
+public class AddressBookFX extends Application {
+
+ ArrayList addressArray = new ArrayList<>();
+
+ @Override
+ public void start(Stage stage) throws Exception
+ {
+ GridPane primaryGridPane = new GridPane();
+ GridPane textFieldGridPane = new GridPane();
+ GridPane addressFieldPane = new GridPane();
+ GridPane buttonFieldPane = new GridPane();
+
+ // Text fields / labels
+ textFieldGridPane.add(new Label("Name"), 0, 0);
+ textFieldGridPane.add(new Label("Street"), 0, 1);
+ textFieldGridPane.add(new Label("City"), 0, 2);
+ addressFieldPane.add(new Label("State"), 2, 0);
+ addressFieldPane.add(new Label("ZIP"), 4, 0);
+ TextField nameTextField = new TextField();
+ TextField streetTextField = new TextField();
+ TextField cityTextField = new TextField();
+ TextField stateTextField = new TextField();
+ TextField zipTextField = new TextField();
+ textFieldGridPane.add(nameTextField, 1, 0);
+ textFieldGridPane.add(streetTextField, 1, 1);
+ textFieldGridPane.add(addressFieldPane, 1, 2);
+ addressFieldPane.add(cityTextField, 1, 0);
+ addressFieldPane.add(stateTextField, 3, 0);
+ addressFieldPane.add(zipTextField, 5, 0);
+ textFieldGridPane.getColumnConstraints().add(new ColumnConstraints(50));
+ primaryGridPane.add(textFieldGridPane, 0, 0);
+
+ // Buttons
+ Button addButton = new Button("Add");
+ Button firstButton = new Button("First");
+ Button nextButton = new Button("Next");
+ Button previousButton = new Button("Previous");
+ Button lastButton = new Button("Last");
+ Button updateButton = new Button("Update");
+ buttonFieldPane.add(addButton, 0, 0);
+ buttonFieldPane.add(firstButton, 1, 0);
+ buttonFieldPane.add(nextButton, 2, 0);
+ buttonFieldPane.add(previousButton, 3, 0);
+ buttonFieldPane.add(lastButton, 4, 0);
+ buttonFieldPane.add(updateButton, 5, 0);
+ primaryGridPane.add(buttonFieldPane, 0, 1);
+ primaryGridPane.setAlignment(Pos.CENTER);
+ buttonFieldPane.setHgap(10);
+
+ addButton.setOnAction(e -> {
+
+ });
+ firstButton.setOnAction(e -> {
+
+ });
+ nextButton.setOnAction(e -> {
+
+ });
+ previousButton.setOnAction(e -> {
+
+ });
+ lastButton.setOnAction(e -> {
+
+ });
+ updateButton.setOnAction(e -> {
+
+ });
+
+ Scene scene = new Scene(primaryGridPane);
+ stage.setScene(scene);
+ stage.show();
+ }
+
+ public static void main(String[] args)
+ {
+ File addressBook = new File("AddressBookFX.dat");
+ if (!addressBook.exists()) {
+ try (ObjectOutputStream fileStream = new ObjectOutputStream(new FileOutputStream(addressBook))) {
+ fileStream.writeObject(new DataContainer());
+ } catch (IOException ex) {
+ System.out.println(ex);
+ }
+ } else {
+
+ try (ObjectInputStream fileStream = new ObjectInputStream(new FileInputStream(addressBook))) {
+ addressBook = (ArrayList) fileStream.readObject();
+ } catch (IOException ex) {
+ System.out.println(ex);
+ } catch (ClassNotFoundException ex) {
+ System.out.println(ex);
+ }
+ }
+
+ launch();
+ }
+}
+
+class AddressBookEntry implements Serializable {
+
+ private String name;
+ private String street;
+ private String city;
+ private String state;
+ private String zip;
+
+ public AddressBookEntry()
+ {
+ this.name = "Enter a name here.";
+ this.street = "Enter a street here.";
+ this.city = "Enter a city here.";
+ this.state = "Enter a state here.";
+ this.zip = "Enter a zip here.";
+ }
+
+ public AddressBookEntry(String name, String street, String city, String state, String zip)
+ {
+ this.name = name;
+ this.street = street;
+ this.city = city;
+ this.state = state;
+ this.zip = zip;
+ }
+
+ public String getZip()
+ {
+ return zip;
+ }
+
+ public void setZip(String zip)
+ {
+ this.zip = zip;
+ }
+
+ public String getState()
+ {
+ return state;
+ }
+
+ public void setState(String state)
+ {
+ this.state = state;
+ }
+
+ public String getCity()
+ {
+ return city;
+ }
+
+ public void setCity(String city)
+ {
+ this.city = city;
+ }
+
+ public String getStreet()
+ {
+ return street;
+ }
+
+ public void setStreet(String street)
+ {
+ this.street = street;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+}
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenot/src/main/java/com/calebfontenot/mp5/binary/files_calebfontenot/App.java b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/App.java
similarity index 92%
rename from Semester 3/MP5-Binary-Files_CalebFontenot/src/main/java/com/calebfontenot/mp5/binary/files_calebfontenot/App.java
rename to Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/App.java
index 8fea30d..5be0a1f 100644
--- a/Semester 3/MP5-Binary-Files_CalebFontenot/src/main/java/com/calebfontenot/mp5/binary/files_calebfontenot/App.java
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/App.java
@@ -1,4 +1,4 @@
-package com.calebfontenot.mp5.binary.files_calebfontenot;
+package com.calebfontenot.mp5.files_calebfontenot;
import javafx.application.Application;
import javafx.scene.Scene;
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_01.java b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_01.java
new file mode 100644
index 0000000..4339bd3
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_01.java
@@ -0,0 +1,52 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.calebfontenot.mp5.files_calebfontenot;
+
+import java.io.EOFException;
+import java.io.FileNotFoundException;
+import java.io.RandomAccessFile;
+
+/**
+ *
+ * @author caleb
+ */
+public class Exercise17_01 {
+
+ public static void main(String[] args)
+ {
+ try (RandomAccessFile fileIO = new RandomAccessFile("Exercise17_01.txt", "rw")) {
+ int random = 0;
+ System.out.println("Writing data to file...");
+ for (int i = 1; i < 100 + 1; ++i) {
+ random = (int) (Math.random() * 9) + 1;
+ System.out.print(random + " ");
+ if (i != 0 && i % 10 == 0) {
+ System.out.println();
+ }
+ fileIO.writeInt(random);
+ }
+ System.out.println("Wrote to the file successfully!");
+ System.out.println("File contents:");
+ fileIO.seek(0);
+ int readIterator = 1;
+ while (true) {
+ try {
+ System.out.print(fileIO.readInt() + " ");
+ if (readIterator != 0 && readIterator % 10 == 0) {
+ System.out.println();
+ }
+ ++readIterator;
+ } catch (EOFException e) {
+ break;
+ }
+
+ }
+
+ } catch (Exception ex) {
+ System.out.println(ex);
+ }
+
+ }
+}
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_03.java b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_03.java
new file mode 100644
index 0000000..bfc273d
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_03.java
@@ -0,0 +1,70 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.calebfontenot.mp5.files_calebfontenot;
+
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+/**
+ *
+ * @author caleb
+ */
+public class Exercise17_03 {
+
+ static int fileSize = Math.abs((int) (Math.random() * 1024));
+
+ public static void writeData()
+ {
+ try (FileOutputStream fileWrite = new FileOutputStream("Exercise17_03.dat")) {
+ // Write a unspecified number of integers into the file.
+ // Must be positive!
+ int randInt = 0;
+ for (int i = 0; i < fileSize; ++i) {
+ randInt = (int) (Math.random() * 10);
+ fileWrite.write(randInt);
+ }
+ } catch (IOException ex) {
+ System.out.println(ex);
+ }
+ System.out.println("Wrote data to the file!");
+ }
+
+ public static int[] readData()
+ {
+ int[] fileData = new int[fileSize];
+ try (FileInputStream fileRead = new FileInputStream("Exercise17_03.dat")) {
+ // Read the data back
+ int dataIterator = 0;
+ int dataStream = 0;
+ while (fileRead.available() > 0) {
+ dataStream = fileRead.read();
+ fileData[dataIterator++] = dataStream;
+ System.out.print(dataStream + " ");
+ if ((dataIterator + 1) % 10 == 0) {
+ System.out.println();
+ }
+ }
+ } catch (IOException ex) {
+ System.out.println(ex);
+ }
+ return fileData;
+ }
+
+ public static void main(String[] args)
+ {
+ System.out.println("Ints to write: " + fileSize);
+ writeData();
+ int[] fileData = readData();
+ // Sum the digits
+ int sum = 0;
+ for (int i: fileData) {
+ sum += i;
+ }
+ System.out.println("\nThe sum of the integers in the file is: " + sum);
+ }
+}
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_05.java b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_05.java
new file mode 100644
index 0000000..b649548
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_05.java
@@ -0,0 +1,79 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.calebfontenot.mp5.files_calebfontenot;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+import java.io.ObjectOutputStream;
+import java.util.Date;
+
+/**
+ *
+ * @author caleb
+ */
+public class Exercise17_05 {
+ public static void main(String[] args) {
+ File dataFile = new File("Exercise17_05.dat");
+ if(!dataFile.exists()) {
+ try (ObjectOutputStream fileStream = new ObjectOutputStream(new FileOutputStream(dataFile))) {
+ fileStream.writeObject(new DataContainer());
+ } catch (IOException ex) {
+ System.out.println(ex);
+ }
+ }
+ DataContainer data = null;
+ try (ObjectInputStream fileStream = new ObjectInputStream(new FileInputStream(dataFile))) {
+ data = (DataContainer) fileStream.readObject();
+ } catch (IOException ex) {
+ System.out.println(ex);
+ } catch (ClassNotFoundException ex) {
+ System.out.println(ex);
+ }
+ // Now print out the data!
+ System.out.println("We got the data from the file!");
+ System.out.println(data.toString());
+ }
+}
+
+class DataContainer implements Serializable {
+ int[] intArray = {1, 2, 3, 4};
+ Date currentDate = new Date();
+ double doubleMoment = 5.5;
+
+ public int[] getIntArray()
+ {
+ return intArray;
+ }
+
+ public Date getCurrentDate()
+ {
+ return currentDate;
+ }
+
+ public double getDoubleMoment()
+ {
+ return doubleMoment;
+ }
+
+ @Override
+ public String toString()
+ {
+ String intString = "[";
+ for (int i = 0; i < intArray.length - 1; ++i) {
+ intString += intArray[i];
+ if (i == (intArray.length - 2)) {
+ intString += "]";
+ } else {
+ intString += ", ";
+ }
+ }
+ return "DataContainer{" + "intArray=" + intString + ", currentDate=" + currentDate + ", doubleMoment=" + doubleMoment + '}';
+ }
+}
\ No newline at end of file
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenot/src/main/java/com/calebfontenot/mp5/binary/files_calebfontenot/SystemInfo.java b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/SystemInfo.java
similarity index 79%
rename from Semester 3/MP5-Binary-Files_CalebFontenot/src/main/java/com/calebfontenot/mp5/binary/files_calebfontenot/SystemInfo.java
rename to Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/SystemInfo.java
index 54f347c..e2b4e70 100644
--- a/Semester 3/MP5-Binary-Files_CalebFontenot/src/main/java/com/calebfontenot/mp5/binary/files_calebfontenot/SystemInfo.java
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/SystemInfo.java
@@ -1,4 +1,4 @@
-package com.calebfontenot.mp5.binary.files_calebfontenot;
+package com.calebfontenot.mp5.files_calebfontenot;
public class SystemInfo {
diff --git a/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/module-info.java b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/module-info.java
new file mode 100644
index 0000000..56a4ea7
--- /dev/null
+++ b/Semester 3/Assignments/MP3_Recursion_CalebFontenot/MP5-Binary-Files_CalebFontenot/src/module-info.java
@@ -0,0 +1,4 @@
+module com.calebfontenot.mp5.files_calebfontenot{
+ requires javafx.controls;
+ exports com.calebfontenot.mp5.files_calebfontenot;
+}
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/.~lock.mp5-binary-files-1.odt# b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/.~lock.mp5-binary-files-1.odt#
new file mode 100644
index 0000000..dfab56d
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/.~lock.mp5-binary-files-1.odt#
@@ -0,0 +1 @@
+,caleb,caleb-gaming-laptop-archlinux,20.10.2023 21:26,file:///home/caleb/.config/libreoffice/4;
\ No newline at end of file
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/AddressBookFX.dat b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/AddressBookFX.dat
new file mode 100644
index 0000000..fc45244
Binary files /dev/null and b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/AddressBookFX.dat differ
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/build.xml b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/build.xml
new file mode 100644
index 0000000..555a74e
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/build.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+ Builds, tests, and runs the project MP5-Binary-Files_CalebFontenot.
+
+
+
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/manifest.mf b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/manifest.mf
new file mode 100644
index 0000000..328e8e5
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/manifest.mf
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+X-COMMENT: Main-Class will be added automatically by build
+
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/mp5-binary-files-1.odt b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/mp5-binary-files-1.odt
new file mode 100644
index 0000000..70a90a2
Binary files /dev/null and b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/mp5-binary-files-1.odt differ
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/build-impl.xml b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/build-impl.xml
new file mode 100644
index 0000000..22ab97e
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/build-impl.xml
@@ -0,0 +1,1771 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must set src.dir
+ Must set test.src.dir
+ Must set build.dir
+ Must set dist.dir
+ Must set build.classes.dir
+ Must set dist.javadoc.dir
+ Must set build.test.classes.dir
+ Must set build.test.results.dir
+ Must set build.classes.excludes
+ Must set dist.jar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must set javac.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ No tests executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must set JVM to use for profiling in profiler.info.jvm
+ Must set profiler agent JVM arguments in profiler.info.jvmargs.agent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select some files in the IDE or set javac.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ To run this application from the command line without Ant, try:
+
+ java -jar "${dist.jar.resolved}"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set debug.class
+
+
+
+
+ Must select one file in the IDE or set debug.class
+
+
+
+
+ Must set fix.includes
+
+
+
+
+
+
+
+
+
+ This target only works when run from inside the NetBeans IDE.
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set profile.class
+ This target only works when run from inside the NetBeans IDE.
+
+
+
+
+
+
+
+
+ This target only works when run from inside the NetBeans IDE.
+
+
+
+
+
+
+
+
+
+
+
+
+ This target only works when run from inside the NetBeans IDE.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+
+
+ Must select some files in the IDE or set test.includes
+
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+
+ Must select one file in the IDE or set applet.url
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select some files in the IDE or set javac.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Some tests failed; see details above.
+
+
+
+
+
+
+
+
+ Must select some files in the IDE or set test.includes
+
+
+
+ Some tests failed; see details above.
+
+
+
+ Must select some files in the IDE or set test.class
+ Must select some method in the IDE or set test.method
+
+
+
+ Some tests failed; see details above.
+
+
+
+
+ Must select one file in the IDE or set test.class
+
+
+
+ Must select one file in the IDE or set test.class
+ Must select some method in the IDE or set test.method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set applet.url
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set applet.url
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/genfiles.properties b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/genfiles.properties
new file mode 100644
index 0000000..5585d25
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=a0844a83
+build.xml.script.CRC32=dee8d968
+build.xml.stylesheet.CRC32=f85dc8f2@1.108.0.48
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=a0844a83
+nbproject/build-impl.xml.script.CRC32=025ed557
+nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.108.0.48
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/project.properties b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/project.properties
new file mode 100644
index 0000000..ded35af
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/project.properties
@@ -0,0 +1,121 @@
+annotation.processing.enabled=true
+annotation.processing.enabled.in.editor=false
+annotation.processing.processors.list=
+annotation.processing.run.all.processors=true
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
+application.title=MP5-Binary-Files_CalebFontenot
+application.vendor=caleb
+auxiliary.com-github-philippefichet-sonarlint4netbeans.excludedRules=[{"repository":"php","rule":"S3335"},{"repository":"php","rule":"S3336"},{"repository":"php","rule":"S2002"},{"repository":"php","rule":"S2005"},{"repository":"php","rule":"S3333"},{"repository":"php","rule":"S3334"},{"repository":"Web","rule":"ImgWithoutWidthOrHeightCheck"},{"repository":"php","rule":"S1151"},{"repository":"php","rule":"S3332"},{"repository":"php","rule":"S2001"},{"repository":"php","rule":"S2000"},{"repository":"typescript","rule":"S4798"},{"repository":"javascript","rule":"S3801"},{"repository":"typescript","rule":"S2138"},{"repository":"typescript","rule":"S2376"},{"repository":"java","rule":"S4288"},{"repository":"php","rule":"S5867"},{"repository":"java","rule":"S6211"},{"repository":"java","rule":"S2096"},{"repository":"java","rule":"S6212"},{"repository":"php","rule":"S2011"},{"repository":"typescript","rule":"S4328"},{"repository":"typescript","rule":"S4204"},{"repository":"typescript","rule":"S4324"},{"repository":"Web","rule":"PageWithoutFaviconCheck"},{"repository":"typescript","rule":"S4327"},{"repository":"typescript","rule":"S4326"},{"repository":"typescript","rule":"S3353"},{"repository":"typescript","rule":"S1172"},{"repository":"typescript","rule":"S2260"},{"repository":"java","rule":"S5128"},{"repository":"php","rule":"S2007"},{"repository":"php","rule":"S3337"},{"repository":"php","rule":"S3338"},{"repository":"javascript","rule":"S139"},{"repository":"javascript","rule":"S135"},{"repository":"javascript","rule":"S138"},{"repository":"javascript","rule":"S131"},{"repository":"javascript","rule":"S134"},{"repository":"javascript","rule":"S2817"},{"repository":"typescript","rule":"S3003"},{"repository":"typescript","rule":"S1067"},{"repository":"typescript","rule":"S1066"},{"repository":"Web","rule":"S1829"},{"repository":"java","rule":"S4174"},{"repository":"Web","rule":"IllegalTabCheck"},{"repository":"typescript","rule":"S3499"},{"repository":"typescript","rule":"S3257"},{"repository":"typescript","rule":"S1192"},{"repository":"typescript","rule":"S3498"},{"repository":"php","rule":"S5856"},{"repository":"java","rule":"S2063"},{"repository":"java","rule":"S3030"},{"repository":"java","rule":"S3032"},{"repository":"Web","rule":"DoubleQuotesCheck"},{"repository":"Web","rule":"MaxLineLengthCheck"},{"repository":"java","rule":"S105"},{"repository":"typescript","rule":"S1488"},{"repository":"Web","rule":"LongJavaScriptCheck"},{"repository":"java","rule":"S103"},{"repository":"Web","rule":"WmodeIsWindowCheck"},{"repository":"java","rule":"S104"},{"repository":"java","rule":"S109"},{"repository":"typescript","rule":"S3786"},{"repository":"javascript","rule":"S1821"},{"repository":"java","rule":"S113"},{"repository":"java","rule":"S4248"},{"repository":"php","rule":"S1105"},{"repository":"php","rule":"S1106"},{"repository":"php","rule":"S1121"},{"repository":"typescript","rule":"S3317"},{"repository":"typescript","rule":"S1131"},{"repository":"java","rule":"S2059"},{"repository":"java","rule":"S2057"},{"repository":"java","rule":"S6411"},{"repository":"php","rule":"S1117"},{"repository":"java","rule":"S3052"},{"repository":"typescript","rule":"S881"},{"repository":"php","rule":"S1451"},{"repository":"Web","rule":"NonConsecutiveHeadingCheck"},{"repository":"java","rule":"S126"},{"repository":"typescript","rule":"S5867"},{"repository":"java","rule":"S134"},{"repository":"java","rule":"S4266"},{"repository":"java","rule":"S2196"},{"repository":"java","rule":"S2197"},{"repository":"java","rule":"S118"},{"repository":"typescript","rule":"S1154"},{"repository":"java","rule":"S121"},{"repository":"java","rule":"S122"},{"repository":"php","rule":"S1578"},{"repository":"php","rule":"S5935"},{"repository":"java","rule":"S3047"},{"repository":"php","rule":"S4142"},{"repository":"typescript","rule":"S1441"},{"repository":"java","rule":"S2701"},{"repository":"typescript","rule":"S1440"},{"repository":"php","rule":"S881"},{"repository":"java","rule":"S138"},{"repository":"typescript","rule":"S3514"},{"repository":"java","rule":"S139"},{"repository":"typescript","rule":"S2427"},{"repository":"typescript","rule":"S3512"},{"repository":"typescript","rule":"S2424"},{"repository":"typescript","rule":"S3513"},{"repository":"typescript","rule":"S1451"},{"repository":"Web","rule":"IllegalNamespaceCheck"},{"repository":"xml","rule":"S3419"},{"repository":"typescript","rule":"S3525"},{"repository":"Web","rule":"WhiteSpaceAroundCheck"},{"repository":"typescript","rule":"S3402"},{"repository":"typescript","rule":"S1105"},{"repository":"typescript","rule":"S3524"},{"repository":"java","rule":"S3937"},{"repository":"xml","rule":"S1120"},{"repository":"java","rule":"S1996"},{"repository":"xml","rule":"S3420"},{"repository":"xml","rule":"S3423"},{"repository":"Web","rule":"InternationalizationCheck"},{"repository":"java","rule":"S6073"},{"repository":"css","rule":"S4664"},{"repository":"typescript","rule":"S2208"},{"repository":"typescript","rule":"S4622"},{"repository":"typescript","rule":"S3533"},{"repository":"php","rule":"S2070"},{"repository":"typescript","rule":"S1117"},{"repository":"typescript","rule":"S1116"},{"repository":"java","rule":"S2959"},{"repository":"typescript","rule":"S1110"},{"repository":"Web","rule":"S1436"},{"repository":"xml","rule":"S2321"},{"repository":"php","rule":"S2047"},{"repository":"php","rule":"S2046"},{"repository":"typescript","rule":"S1528"},{"repository":"php","rule":"S2043"},{"repository":"javascript","rule":"S117"},{"repository":"php","rule":"S2042"},{"repository":"php","rule":"S2044"},{"repository":"javascript","rule":"S113"},{"repository":"Web","rule":"MouseEventWithoutKeyboardEquivalentCheck"},{"repository":"javascript","rule":"S4139"},{"repository":"typescript","rule":"S1526"},{"repository":"typescript","rule":"S1525"},{"repository":"php","rule":"NoSonar"},{"repository":"typescript","rule":"S1539"},{"repository":"Web","rule":"IllegalTagLibsCheck"},{"repository":"php","rule":"S2050"},{"repository":"typescript","rule":"S1774"},{"repository":"javascript","rule":"S126"},{"repository":"typescript","rule":"S1530"},{"repository":"javascript","rule":"S121"},{"repository":"typescript","rule":"S1537"},{"repository":"typescript","rule":"S1535"},{"repository":"javascript","rule":"S122"},{"repository":"typescript","rule":"S909"},{"repository":"php","rule":"S5899"},{"repository":"java","rule":"S5194"},{"repository":"typescript","rule":"S3723"},{"repository":"php","rule":"S2260"},{"repository":"typescript","rule":"S1541"},{"repository":"java","rule":"S1711"},{"repository":"javascript","rule":"S1192"},{"repository":"php","rule":"S2278"},{"repository":"php","rule":"S2036"},{"repository":"php","rule":"S2277"},{"repository":"php","rule":"S1067"},{"repository":"php","rule":"S2038"},{"repository":"php","rule":"S2037"},{"repository":"javascript","rule":"S106"},{"repository":"javascript","rule":"S109"},{"repository":"php","rule":"S5783"},{"repository":"javascript","rule":"S3498"},{"repository":"javascript","rule":"S103"},{"repository":"javascript","rule":"S3499"},{"repository":"javascript","rule":"S105"},{"repository":"javascript","rule":"S104"},{"repository":"typescript","rule":"S1438"},{"repository":"java","rule":"S1939"},{"repository":"typescript","rule":"S3973"},{"repository":"javascript","rule":"S100"},{"repository":"java","rule":"S1821"},{"repository":"java","rule":"S1942"},{"repository":"java","rule":"S1943"},{"repository":"java","rule":"S1820"},{"repository":"java","rule":"S1941"},{"repository":"Web","rule":"HeaderCheck"},{"repository":"Web","rule":"UnclosedTagCheck"},{"repository":"typescript","rule":"S2817"},{"repository":"javascript","rule":"S3003"},{"repository":"typescript","rule":"S2933"},{"repository":"java","rule":"S2309"},{"repository":"php","rule":"S126"},{"repository":"css","rule":"S5362"},{"repository":"java","rule":"S4605"},{"repository":"java","rule":"S4604"},{"repository":"java","rule":"S2308"},{"repository":"xml","rule":"S3282"},{"repository":"php","rule":"S2918"},{"repository":"java","rule":"S2301"},{"repository":"java","rule":"S1696"},{"repository":"java","rule":"S1213"},{"repository":"typescript","rule":"S139"},{"repository":"java","rule":"S1698"},{"repository":"java","rule":"S1699"},{"repository":"php","rule":"S1820"},{"repository":"java","rule":"S3750"},{"repository":"javascript","rule":"S1172"},{"repository":"java","rule":"S1451"},{"repository":"php","rule":"S122"},{"repository":"java","rule":"S1694"},{"repository":"java","rule":"S1695"},{"repository":"php","rule":"S1821"},{"repository":"javascript","rule":"S2260"},{"repository":"javascript","rule":"S3353"},{"repository":"javascript","rule":"S4326"},{"repository":"Web","rule":"UnifiedExpressionCheck"},{"repository":"php","rule":"S134"},{"repository":"java","rule":"S1448"},{"repository":"java","rule":"S2658"},{"repository":"java","rule":"S1449"},{"repository":"java","rule":"S3749"},{"repository":"php","rule":"S139"},{"repository":"javascript","rule":"S1067"},{"repository":"javascript","rule":"S1066"},{"repository":"java","rule":"S1200"},{"repository":"Web","rule":"ComplexityCheck"},{"repository":"javascript","rule":"S2376"},{"repository":"typescript","rule":"S3801"},{"repository":"Web","rule":"RequiredAttributeCheck"},{"repository":"javascript","rule":"S2138"},{"repository":"php","rule":"S104"},{"repository":"java","rule":"S3658"},{"repository":"java","rule":"S2208"},{"repository":"java","rule":"S2444"},{"repository":"javascript","rule":"S1154"},{"repository":"java","rule":"S2203"},{"repository":"java","rule":"S2325"},{"repository":"java","rule":"S3414"},{"repository":"typescript","rule":"S2966"},{"repository":"java","rule":"S1106"},{"repository":"java","rule":"S1228"},{"repository":"java","rule":"S1107"},{"repository":"java","rule":"S1108"},{"repository":"java","rule":"S1109"},{"repository":"xml","rule":"S3373"},{"repository":"java","rule":"S1105"},{"repository":"javascript","rule":"S5867"},{"repository":"java","rule":"S4926"},{"repository":"java","rule":"S1774"},{"repository":"javascript","rule":"S1131"},{"repository":"javascript","rule":"S3798"},{"repository":"javascript","rule":"S3317"},{"repository":"Web","rule":"InputWithoutLabelCheck"},{"repository":"javascript","rule":"S881"},{"repository":"xml","rule":"S2260"},{"repository":"java","rule":"S1641"},{"repository":"java","rule":"S2972"},{"repository":"java","rule":"S2973"},{"repository":"java","rule":"S2974"},{"repository":"javascript","rule":"S3786"},{"repository":"javascript","rule":"S1488"},{"repository":"java","rule":"S923"},{"repository":"typescript","rule":"S1821"},{"repository":"javascript","rule":"S1117"},{"repository":"javascript","rule":"S1116"},{"repository":"java","rule":"S1315"},{"repository":"javascript","rule":"S1110"},{"repository":"java","rule":"S1312"},{"repository":"java","rule":"S1314"},{"repository":"java","rule":"S1310"},{"repository":"javascript","rule":"S3533"},{"repository":"javascript","rule":"S2208"},{"repository":"java","rule":"S1309"},{"repository":"java","rule":"S3725"},{"repository":"Web","rule":"DynamicJspIncludeCheck"},{"repository":"Web","rule":"InlineStyleCheck"},{"repository":"java","rule":"S1541"},{"repository":"java","rule":"S2260"},{"repository":"java","rule":"S2141"},{"repository":"php","rule":"S1311"},{"repository":"java","rule":"S2384"},{"repository":"javascript","rule":"S3760"},{"repository":"javascript","rule":"S3523"},{"repository":"javascript","rule":"S3402"},{"repository":"javascript","rule":"S3524"},{"repository":"javascript","rule":"S3525"},{"repository":"xml","rule":"S105"},{"repository":"typescript","rule":"S4157"},{"repository":"xml","rule":"S103"},{"repository":"java","rule":"S2148"},{"repository":"java","rule":"S2143"},{"repository":"java","rule":"S1176"},{"repository":"java","rule":"S1160"},{"repository":"php","rule":"S1200"},{"repository":"java","rule":"S2250"},{"repository":"java","rule":"S818"},{"repository":"java","rule":"S1162"},{"repository":"java","rule":"S4551"},{"repository":"java","rule":"S2131"},{"repository":"javascript","rule":"S1451"},{"repository":"javascript","rule":"S3512"},{"repository":"javascript","rule":"S2424"},{"repository":"javascript","rule":"S3513"},{"repository":"javascript","rule":"S3514"},{"repository":"javascript","rule":"S3757"},{"repository":"javascript","rule":"S3758"},{"repository":"javascript","rule":"S2427"},{"repository":"javascript","rule":"S2428"},{"repository":"javascript","rule":"S1105"},{"repository":"php","rule":"S5915"},{"repository":"php","rule":"S1314"},{"repository":"java","rule":"S1166"},{"repository":"php","rule":"S1799"},{"repository":"java","rule":"S5793"},{"repository":"java","rule":"S1194"},{"repository":"java","rule":"S2162"},{"repository":"java","rule":"S2164"},{"repository":"javascript","rule":"S1440"},{"repository":"javascript","rule":"S1441"},{"repository":"javascript","rule":"S1442"},{"repository":"Web","rule":"MultiplePageDirectivesCheck"},{"repository":"java","rule":"S3254"},{"repository":"java","rule":"S2047"},{"repository":"php","rule":"S1541"},{"repository":"java","rule":"S3242"},{"repository":"javascript","rule":"S3973"},{"repository":"javascript","rule":"S1438"},{"repository":"Web","rule":"LinkToNothingCheck"},{"repository":"java","rule":"S2039"},{"repository":"java","rule":"S1188"},{"repository":"java","rule":"S1067"},{"repository":"java","rule":"S2156"},{"repository":"java","rule":"S3366"},{"repository":"Web","rule":"LinksIdenticalTextsDifferentTargetsCheck"},{"repository":"java","rule":"S5970"},{"repository":"typescript","rule":"S100"},{"repository":"typescript","rule":"S103"},{"repository":"php","rule":"S1990"},{"repository":"typescript","rule":"S105"},{"repository":"typescript","rule":"S104"},{"repository":"javascript","rule":"S1541"},{"repository":"java","rule":"S864"},{"repository":"javascript","rule":"S3723"},{"repository":"java","rule":"S5979"},{"repository":"java","rule":"NoSonar"},{"repository":"java","rule":"S5977"},{"repository":"java","rule":"S5612"},{"repository":"java","rule":"S1258"},{"repository":"java","rule":"S3437"},{"repository":"Web","rule":"FileLengthCheck"},{"repository":"Web","rule":"JspScriptletCheck"},{"repository":"java","rule":"S2221"},{"repository":"java","rule":"S1132"},{"repository":"javascript","rule":"S909"},{"repository":"java","rule":"S3553"},{"repository":"typescript","rule":"S113"},{"repository":"javascript","rule":"S1530"},{"repository":"javascript","rule":"S1774"},{"repository":"javascript","rule":"S1535"},{"repository":"javascript","rule":"S1537"},{"repository":"javascript","rule":"S1539"},{"repository":"java","rule":"S3306"},{"repository":"typescript","rule":"S106"},{"repository":"java","rule":"S2698"},{"repository":"typescript","rule":"S109"},{"repository":"php","rule":"S1996"},{"repository":"php","rule":"S2964"},{"repository":"java","rule":"S2693"},{"repository":"java","rule":"S1120"},{"repository":"java","rule":"S2694"},{"repository":"java","rule":"S2211"},{"repository":"php","rule":"S1997"},{"repository":"java","rule":"S2333"},{"repository":"java","rule":"S1244"},{"repository":"typescript","rule":"S121"},{"repository":"java","rule":"S1151"},{"repository":"typescript","rule":"S122"},{"repository":"Web","rule":"IllegalElementCheck"},{"repository":"typescript","rule":"S126"},{"repository":"typescript","rule":"S4137"},{"repository":"java","rule":"S888"},{"repository":"javascript","rule":"S1525"},{"repository":"javascript","rule":"S1526"},{"repository":"typescript","rule":"S4139"},{"repository":"javascript","rule":"S1528"},{"repository":"javascript","rule":"S3827"},{"repository":"typescript","rule":"S4136"},{"repository":"java","rule":"S3578"},{"repository":"typescript","rule":"S117"},{"repository":"typescript","rule":"S131"},{"repository":"php","rule":"S2830"},{"repository":"typescript","rule":"S134"},{"repository":"typescript","rule":"S135"},{"repository":"typescript","rule":"S138"},{"repository":"typescript","rule":"S4023"},{"repository":"java","rule":"S881"},{"repository":"java","rule":"S5867"},{"repository":"java","rule":"S1147"},{"repository":"java","rule":"S1142"},{"repository":"php","rule":"S2701"}]
+auxiliary.com-github-philippefichet-sonarlint4netbeans.extraProperties={}
+auxiliary.com-github-philippefichet-sonarlint4netbeans.sonarlint-preference-scope=global
+auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml
+build.classes.dir=${build.dir}/classes
+build.classes.excludes=**/*.java,**/*.form
+# This directory is removed when the project is cleaned:
+build.dir=build
+build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
+# Only compile against the classpath explicitly listed here:
+build.sysclasspath=ignore
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+# Uncomment to specify the preferred debugger connection transport:
+#debug.transport=dt_socket
+debug.classpath=\
+ ${run.classpath}
+debug.modulepath=\
+ ${run.modulepath}
+debug.test.classpath=\
+ ${run.test.classpath}
+debug.test.modulepath=\
+ ${run.test.modulepath}
+# Files in build.classes.dir which should be excluded from distribution jar
+dist.archive.excludes=
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.jar=${dist.dir}/MP5-Binary-Files_CalebFontenot.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+dist.jlink.dir=${dist.dir}/jlink
+dist.jlink.output=${dist.jlink.dir}/MP5-Binary-Files_CalebFontenot
+endorsed.classpath=
+excludes=
+includes=**
+jar.archive.disabled=${jnlp.enabled}
+jar.compress=false
+jar.index=${jnlp.enabled}
+javac.classpath=
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.deprecation=false
+javac.external.vm=true
+javac.modulepath=\
+ ${libs.JavaFX20.classpath}
+javac.processormodulepath=
+javac.processorpath=\
+ ${javac.classpath}
+javac.source=20
+javac.target=20
+javac.test.classpath=\
+ ${javac.classpath}
+javac.test.modulepath=\
+ ${javac.modulepath}:\
+ ${build.classes.dir}
+javac.test.processorpath=\
+ ${javac.test.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.html5=false
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+# The jlink additional root modules to resolve
+jlink.additionalmodules=
+# The jlink additional command line parameters
+jlink.additionalparam=
+jlink.launcher=true
+jlink.launcher.name=MP5-Binary-Files_CalebFontenot
+jnlp.codebase.type=no.codebase
+jnlp.descriptor=application
+jnlp.enabled=false
+jnlp.mixed.code=default
+jnlp.offline-allowed=false
+jnlp.signed=false
+jnlp.signing=
+jnlp.signing.alias=
+jnlp.signing.keystore=
+main.class=com.calebfontenot.mp5.files_calebfontenot.App
+# Optional override of default Application-Library-Allowable-Codebase attribute identifying the locations where your signed RIA is expected to be found.
+manifest.custom.application.library.allowable.codebase=
+# Optional override of default Caller-Allowable-Codebase attribute identifying the domains from which JavaScript code can make calls to your RIA without security prompts.
+manifest.custom.caller.allowable.codebase=
+# Optional override of default Codebase manifest attribute, use to prevent RIAs from being repurposed
+manifest.custom.codebase=
+# Optional override of default Permissions manifest attribute (supported values: sandbox, all-permissions)
+manifest.custom.permissions=
+manifest.file=manifest.mf
+meta.inf.dir=${src.dir}/META-INF
+mkdist.disabled=false
+platform.active=default_platform
+run.classpath=\
+ ${javac.classpath}:\
+ ${build.classes.dir}:\
+ ${libs.JavaFX20.classpath}
+# Space-separated list of JVM arguments used when running the project.
+# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
+# To set system properties for unit tests define test-sys-prop.name=value:
+run.jvmargs=-XX:+UnlockExperimentalVMOptions -XX:+EagerJVMCI -XX:+EnableJVMCI -XX:+UseJVMCICompiler -XX:+UseJVMCINativeLibrary
+run.modulepath=\
+ ${javac.modulepath}
+run.test.classpath=\
+ ${javac.test.classpath}
+run.test.modulepath=\
+ ${javac.test.modulepath}
+source.encoding=UTF-8
+src.dir=src
+test.src.dir=test
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/project.xml b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/project.xml
new file mode 100644
index 0000000..464cc39
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/project.xml
@@ -0,0 +1,15 @@
+
+
+ org.netbeans.modules.java.j2seproject
+
+
+ MP5-Binary-Files_CalebFontenot
+
+
+
+
+
+
+
+
+
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/AddressBookFX.java b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/AddressBookFX.java
new file mode 100644
index 0000000..afcecae
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/AddressBookFX.java
@@ -0,0 +1,256 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.calebfontenot.mp5.files_calebfontenot;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import javafx.application.Application;
+import javafx.geometry.HPos;
+import javafx.geometry.Pos;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.ColumnConstraints;
+import javafx.scene.layout.GridPane;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.RowConstraints;
+import javafx.stage.Stage;
+
+/**
+ *
+ * @author caleb
+ */
+public class AddressBookFX extends Application {
+
+ static File addressBook = new File("AddressBookFX.dat");
+ static int addressArrayPointer = 0;
+ static ArrayList addressArray = new ArrayList<>();
+ static TextField nameTextField = new TextField();
+ static TextField streetTextField = new TextField();
+ static TextField cityTextField = new TextField();
+ static TextField stateTextField = new TextField();
+ static TextField zipTextField = new TextField();
+ static Label addressBookCounter = new Label("Items in address book:");
+ static Label indexLabel = new Label();
+
+ @Override
+ public void start(Stage stage) throws Exception
+ {
+ getData();
+ BorderPane primaryBorderPane = new BorderPane();
+ GridPane textFieldGridPane = new GridPane();
+ GridPane addressFieldPane = new GridPane();
+ GridPane buttonFieldPane = new GridPane();
+
+ // Text fields / labels
+ textFieldGridPane.add(new Label("Name"), 0, 0);
+ textFieldGridPane.add(new Label("Street"), 0, 1);
+ textFieldGridPane.add(new Label("City"), 0, 2);
+ addressFieldPane.add(new Label("State"), 2, 0);
+ addressFieldPane.add(new Label("ZIP"), 4, 0);
+ textFieldGridPane.add(nameTextField, 1, 0);
+ textFieldGridPane.add(streetTextField, 1, 1);
+ textFieldGridPane.add(addressFieldPane, 1, 2);
+ addressFieldPane.add(cityTextField, 1, 0);
+ addressFieldPane.add(stateTextField, 3, 0);
+ addressFieldPane.add(zipTextField, 5, 0);
+ textFieldGridPane.getColumnConstraints().add(new ColumnConstraints(50));
+ primaryBorderPane.setTop(textFieldGridPane);
+
+ // Buttons
+ Button addButton = new Button("Add");
+ Button firstButton = new Button("First");
+ Button nextButton = new Button("Next");
+ Button previousButton = new Button("Previous");
+ Button lastButton = new Button("Last");
+ Button updateButton = new Button("Update");
+ buttonFieldPane.add(indexLabel, 0, 0);
+ buttonFieldPane.add(addButton, 1, 0);
+ buttonFieldPane.add(firstButton, 2, 0);
+ buttonFieldPane.add(nextButton, 3, 0);
+ buttonFieldPane.add(previousButton, 4, 0);
+ buttonFieldPane.add(lastButton, 5, 0);
+ buttonFieldPane.add(updateButton, 6, 0);
+ buttonFieldPane.add(addressBookCounter, 7, 0);
+
+ primaryBorderPane.setBottom(buttonFieldPane);
+ buttonFieldPane.setAlignment(Pos.CENTER);
+ buttonFieldPane.setHgap(10);
+
+ addButton.setOnAction(e -> {
+ addressArray.add(new AddressBookEntry());
+ updateData();
+ });
+ firstButton.setOnAction(e -> {
+ addressArrayPointer = 0;
+ getEntry(addressArrayPointer);
+ });
+ nextButton.setOnAction(e -> {
+ if (addressArrayPointer >= addressArray.size() - 1) {
+ addressArrayPointer = 0;
+ } else {
+ addressArrayPointer++;
+ }
+ getEntry(addressArrayPointer);
+ });
+ previousButton.setOnAction(e -> {
+ if (addressArrayPointer > 0) {
+ addressArrayPointer--;
+ } else {
+ addressArrayPointer = addressArray.size() - 1;
+ }
+ getEntry(addressArrayPointer);
+ });
+ lastButton.setOnAction(e -> {
+ addressArrayPointer = addressArray.size() - 1;
+ getEntry(addressArrayPointer);
+ });
+ updateButton.setOnAction(e -> {
+ AddressBookEntry entry = addressArray.get(addressArrayPointer);
+ entry.setName(nameTextField.getText());
+ entry.setCity(nameTextField.getText());
+ entry.setStreet(streetTextField.getText());
+ entry.setCity(cityTextField.getText());
+ entry.setState(stateTextField.getText());
+ entry.setZip(zipTextField.getText());
+ updateData();
+ });
+
+ // init fields with data from first entry
+ getEntry(0);
+
+ Scene scene = new Scene(primaryBorderPane);
+ stage.setScene(scene);
+ stage.show();
+ }
+
+ public static AddressBookEntry getEntry(int index)
+ {
+ AddressBookEntry entry = addressArray.get(index);
+ indexLabel.setText("Current index: " + index);
+ addressBookCounter.setText("Items in address book: " + addressArray.size());
+ nameTextField.setText(entry.getName());
+ streetTextField.setText(entry.getStreet());
+ cityTextField.setText(entry.getCity());
+ stateTextField.setText(entry.getState());
+ zipTextField.setText(entry.getZip());
+ return entry;
+ }
+
+ public static void updateData()
+ {
+ try (ObjectOutputStream fileStream = new ObjectOutputStream(new FileOutputStream(addressBook))) {
+ fileStream.writeObject(addressArray);
+ } catch (IOException ex) {
+ System.out.println(ex);
+ }
+ }
+
+ public static void getData()
+ {
+ if (!addressBook.exists()) {
+ addressArray.add(new AddressBookEntry());
+ updateData();
+ } else {
+ try (ObjectInputStream fileStream = new ObjectInputStream(new FileInputStream(addressBook))) {
+ addressArray = (ArrayList) fileStream.readObject();
+ } catch (IOException ex) {
+ System.out.println(ex);
+ } catch (ClassNotFoundException ex) {
+ System.out.println(ex);
+ }
+ }
+ }
+
+ public static void main(String[] args)
+ {
+ launch();
+ }
+}
+
+class AddressBookEntry implements Serializable {
+
+ private String name;
+ private String street;
+ private String city;
+ private String state;
+ private String zip;
+
+ public AddressBookEntry()
+ {
+ this.name = "Enter a name here.";
+ this.street = "Enter a street here.";
+ this.city = "Enter a city here.";
+ this.state = "Enter a state here.";
+ this.zip = "Enter a zip here.";
+ }
+
+ public AddressBookEntry(String name, String street, String city, String state, String zip)
+ {
+ this.name = name;
+ this.street = street;
+ this.city = city;
+ this.state = state;
+ this.zip = zip;
+ }
+
+ public String getZip()
+ {
+ return zip;
+ }
+
+ public void setZip(String zip)
+ {
+ this.zip = zip;
+ }
+
+ public String getState()
+ {
+ return state;
+ }
+
+ public void setState(String state)
+ {
+ this.state = state;
+ }
+
+ public String getCity()
+ {
+ return city;
+ }
+
+ public void setCity(String city)
+ {
+ this.city = city;
+ }
+
+ public String getStreet()
+ {
+ return street;
+ }
+
+ public void setStreet(String street)
+ {
+ this.street = street;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+}
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/App.java b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/App.java
new file mode 100644
index 0000000..5be0a1f
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/App.java
@@ -0,0 +1,30 @@
+package com.calebfontenot.mp5.files_calebfontenot;
+
+import javafx.application.Application;
+import javafx.scene.Scene;
+import javafx.scene.control.Label;
+import javafx.scene.layout.StackPane;
+import javafx.stage.Stage;
+
+
+/**
+ * JavaFX App
+ */
+public class App extends Application {
+
+ @Override
+ public void start(Stage stage) {
+ var javaVersion = SystemInfo.javaVersion();
+ var javafxVersion = SystemInfo.javafxVersion();
+
+ var label = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
+ var scene = new Scene(new StackPane(label), 640, 480);
+ stage.setScene(scene);
+ stage.show();
+ }
+
+ public static void main(String[] args) {
+ launch();
+ }
+
+}
\ No newline at end of file
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/CombineFilesFX.java b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/CombineFilesFX.java
new file mode 100644
index 0000000..4523d2b
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/CombineFilesFX.java
@@ -0,0 +1,98 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.calebfontenot.mp5.files_calebfontenot;
+
+import java.io.DataInput;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import javafx.application.Application;
+import javafx.geometry.Pos;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.GridPane;
+import javafx.stage.FileChooser;
+import javafx.stage.Stage;
+
+/**
+ *
+ * @author caleb
+ */
+public class CombineFilesFX extends Application {
+
+ static List files = null;
+ final FileChooser fileChooser = new FileChooser();
+
+ @Override
+ public void start(final Stage stage) throws Exception
+ {
+ fileChooser.setTitle("Open File to Split...");
+ BorderPane primaryBorderPane = new BorderPane();
+ GridPane textFieldGridPane = new GridPane();
+
+ Label infoLabel = new Label("Point me at the files that were output by SplitFilesFX.java.");
+ Label chooseFile = new Label("Choose files to combine: ");
+ Button openFilePicker = new Button("Choose...");
+ Button run = new Button("Start");
+ textFieldGridPane.add(chooseFile, 0, 0);
+ textFieldGridPane.add(openFilePicker, 1, 0);
+ primaryBorderPane.setAlignment(run, Pos.CENTER);
+
+ primaryBorderPane.setTop(infoLabel);
+ primaryBorderPane.setCenter(textFieldGridPane);
+ primaryBorderPane.setBottom(run);
+
+ openFilePicker.setOnAction(e -> {
+ files = fileChooser.showOpenMultipleDialog(openFilePicker.getScene().getWindow());
+ });
+
+ run.setOnAction(e -> {
+ if (files == null) {
+ e.consume();
+ }
+ combineFiles(files);
+ });
+
+ Scene scene = new Scene(primaryBorderPane);
+ stage.setScene(scene);
+ stage.show();
+ }
+
+ public static void combineFiles(List filesToCombine)
+ {
+ String outputPath = filesToCombine.get(0).getParent();
+ try (FileOutputStream dataOut = new FileOutputStream(outputPath + "/" + "reconstructed_" +filesToCombine.get(0).getName().substring( 0, (filesToCombine.get(0).getName().length() - 2)))) {
+ System.out.println("Writing to " + outputPath + "/" + "reconstructed_" +filesToCombine.get(0).getName().substring( 0, ( filesToCombine.get(0).getName().length() - 2)));
+ for (File file : filesToCombine) {
+ try (FileInputStream dataIn = new FileInputStream(file)) {
+ System.out.println("Opening the source file!");
+ byte[] buffer = new byte[4096]; // You can adjust the buffer size as needed
+
+ int bytesRead;
+ while ((bytesRead = dataIn.read(buffer)) != -1) {
+ dataOut.write(buffer, 0, bytesRead);
+ }
+ }
+ }
+ } catch (IOException ex) {
+ System.out.println(ex);
+ }
+ }
+
+
+ public static void main(String[] args)
+ {
+ launch();
+ }
+}
+/*
+
+ */
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_01.java b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_01.java
new file mode 100644
index 0000000..4339bd3
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_01.java
@@ -0,0 +1,52 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.calebfontenot.mp5.files_calebfontenot;
+
+import java.io.EOFException;
+import java.io.FileNotFoundException;
+import java.io.RandomAccessFile;
+
+/**
+ *
+ * @author caleb
+ */
+public class Exercise17_01 {
+
+ public static void main(String[] args)
+ {
+ try (RandomAccessFile fileIO = new RandomAccessFile("Exercise17_01.txt", "rw")) {
+ int random = 0;
+ System.out.println("Writing data to file...");
+ for (int i = 1; i < 100 + 1; ++i) {
+ random = (int) (Math.random() * 9) + 1;
+ System.out.print(random + " ");
+ if (i != 0 && i % 10 == 0) {
+ System.out.println();
+ }
+ fileIO.writeInt(random);
+ }
+ System.out.println("Wrote to the file successfully!");
+ System.out.println("File contents:");
+ fileIO.seek(0);
+ int readIterator = 1;
+ while (true) {
+ try {
+ System.out.print(fileIO.readInt() + " ");
+ if (readIterator != 0 && readIterator % 10 == 0) {
+ System.out.println();
+ }
+ ++readIterator;
+ } catch (EOFException e) {
+ break;
+ }
+
+ }
+
+ } catch (Exception ex) {
+ System.out.println(ex);
+ }
+
+ }
+}
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_03.java b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_03.java
new file mode 100644
index 0000000..bfc273d
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_03.java
@@ -0,0 +1,70 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.calebfontenot.mp5.files_calebfontenot;
+
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+/**
+ *
+ * @author caleb
+ */
+public class Exercise17_03 {
+
+ static int fileSize = Math.abs((int) (Math.random() * 1024));
+
+ public static void writeData()
+ {
+ try (FileOutputStream fileWrite = new FileOutputStream("Exercise17_03.dat")) {
+ // Write a unspecified number of integers into the file.
+ // Must be positive!
+ int randInt = 0;
+ for (int i = 0; i < fileSize; ++i) {
+ randInt = (int) (Math.random() * 10);
+ fileWrite.write(randInt);
+ }
+ } catch (IOException ex) {
+ System.out.println(ex);
+ }
+ System.out.println("Wrote data to the file!");
+ }
+
+ public static int[] readData()
+ {
+ int[] fileData = new int[fileSize];
+ try (FileInputStream fileRead = new FileInputStream("Exercise17_03.dat")) {
+ // Read the data back
+ int dataIterator = 0;
+ int dataStream = 0;
+ while (fileRead.available() > 0) {
+ dataStream = fileRead.read();
+ fileData[dataIterator++] = dataStream;
+ System.out.print(dataStream + " ");
+ if ((dataIterator + 1) % 10 == 0) {
+ System.out.println();
+ }
+ }
+ } catch (IOException ex) {
+ System.out.println(ex);
+ }
+ return fileData;
+ }
+
+ public static void main(String[] args)
+ {
+ System.out.println("Ints to write: " + fileSize);
+ writeData();
+ int[] fileData = readData();
+ // Sum the digits
+ int sum = 0;
+ for (int i: fileData) {
+ sum += i;
+ }
+ System.out.println("\nThe sum of the integers in the file is: " + sum);
+ }
+}
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_05.java b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_05.java
new file mode 100644
index 0000000..b649548
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/Exercise17_05.java
@@ -0,0 +1,79 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.calebfontenot.mp5.files_calebfontenot;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+import java.io.ObjectOutputStream;
+import java.util.Date;
+
+/**
+ *
+ * @author caleb
+ */
+public class Exercise17_05 {
+ public static void main(String[] args) {
+ File dataFile = new File("Exercise17_05.dat");
+ if(!dataFile.exists()) {
+ try (ObjectOutputStream fileStream = new ObjectOutputStream(new FileOutputStream(dataFile))) {
+ fileStream.writeObject(new DataContainer());
+ } catch (IOException ex) {
+ System.out.println(ex);
+ }
+ }
+ DataContainer data = null;
+ try (ObjectInputStream fileStream = new ObjectInputStream(new FileInputStream(dataFile))) {
+ data = (DataContainer) fileStream.readObject();
+ } catch (IOException ex) {
+ System.out.println(ex);
+ } catch (ClassNotFoundException ex) {
+ System.out.println(ex);
+ }
+ // Now print out the data!
+ System.out.println("We got the data from the file!");
+ System.out.println(data.toString());
+ }
+}
+
+class DataContainer implements Serializable {
+ int[] intArray = {1, 2, 3, 4};
+ Date currentDate = new Date();
+ double doubleMoment = 5.5;
+
+ public int[] getIntArray()
+ {
+ return intArray;
+ }
+
+ public Date getCurrentDate()
+ {
+ return currentDate;
+ }
+
+ public double getDoubleMoment()
+ {
+ return doubleMoment;
+ }
+
+ @Override
+ public String toString()
+ {
+ String intString = "[";
+ for (int i = 0; i < intArray.length - 1; ++i) {
+ intString += intArray[i];
+ if (i == (intArray.length - 2)) {
+ intString += "]";
+ } else {
+ intString += ", ";
+ }
+ }
+ return "DataContainer{" + "intArray=" + intString + ", currentDate=" + currentDate + ", doubleMoment=" + doubleMoment + '}';
+ }
+}
\ No newline at end of file
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/SplitFilesFX.java b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/SplitFilesFX.java
new file mode 100644
index 0000000..0c79ce5
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/SplitFilesFX.java
@@ -0,0 +1,97 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.calebfontenot.mp5.files_calebfontenot;
+
+import java.io.DataInput;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import javafx.application.Application;
+import javafx.geometry.Pos;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.GridPane;
+import javafx.stage.FileChooser;
+import javafx.stage.Stage;
+
+/**
+ *
+ * @author caleb
+ */
+public class SplitFilesFX extends Application {
+ static File file = null;
+ final FileChooser fileChooser = new FileChooser();
+ @Override
+ public void start(final Stage stage) throws Exception
+ {
+ fileChooser.setTitle("Open File to Split...");
+ BorderPane primaryBorderPane = new BorderPane();
+ GridPane textFieldGridPane = new GridPane();
+
+ Label infoLabel = new Label("If you split a file named tmp into 3 smaller files,\n the three smaller files are temp.txt.1, temp.txt.2, and temp.txt.3. ");
+ Label chooseFile = new Label("Choose a file to split: ");
+ Button openFilePicker = new Button("Choose...");
+ Label splitCountLabel = new Label("Enter the amount of files to split into: ");
+ TextField splitCount = new TextField();
+ Button run = new Button("Start");
+ textFieldGridPane.add(chooseFile, 0, 0);
+ textFieldGridPane.add(openFilePicker, 1, 0);
+ textFieldGridPane.add(splitCountLabel, 0, 1);
+ textFieldGridPane.add(splitCount, 1, 1);
+ primaryBorderPane.setAlignment(run, Pos.CENTER);
+
+ primaryBorderPane.setTop(infoLabel);
+ primaryBorderPane.setCenter(textFieldGridPane);
+ primaryBorderPane.setBottom(run);
+
+ openFilePicker.setOnAction(e -> {
+ file = fileChooser.showOpenDialog(openFilePicker.getScene().getWindow());
+ });
+
+ run.setOnAction(e -> {
+ if (file == null) {
+ e.consume();
+ }
+ splitFile(file, Integer.parseInt(splitCount.getText()));
+ });
+
+ Scene scene = new Scene(primaryBorderPane);
+ stage.setScene(scene);
+ stage.show();
+ }
+
+ public static void splitFile(File fileToSplit, int splitCount) {
+ int outputFileSize = (int) fileToSplit.length() / splitCount;
+ String outputPath = fileToSplit.getParent();
+ // Open the original file
+ try (FileInputStream dataIn = new FileInputStream(fileToSplit)) {
+ System.out.println("Opening the source file!");
+ for (int i = 0; i < splitCount; ++i) {
+ //dataIn.mark(outputFileSize * (i + 1));
+ try (FileOutputStream dataOut = new FileOutputStream(outputPath + "/" + fileToSplit.getName() + "." + (i + 1))) {
+ dataOut.write(dataIn.readNBytes(outputFileSize), 0, outputFileSize);
+ System.out.println("Writing to " + outputPath + "/" + fileToSplit.getName() + "." + (i + 1));
+ }
+ }
+
+ } catch (IOException ex) {
+ System.out.println(ex);
+ }
+
+ }
+
+
+ public static void main(String[] args)
+ {
+ launch();
+ }
+}
+/*
+
+ */
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/SystemInfo.java b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/SystemInfo.java
new file mode 100644
index 0000000..e2b4e70
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/com/calebfontenot/mp5/files_calebfontenot/SystemInfo.java
@@ -0,0 +1,13 @@
+package com.calebfontenot.mp5.files_calebfontenot;
+
+public class SystemInfo {
+
+ public static String javaVersion() {
+ return System.getProperty("java.version");
+ }
+
+ public static String javafxVersion() {
+ return System.getProperty("javafx.version");
+ }
+
+}
\ No newline at end of file
diff --git a/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/module-info.java b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/module-info.java
new file mode 100644
index 0000000..56a4ea7
--- /dev/null
+++ b/Semester 3/Assignments/MP5-Binary-Files_CalebFontenot/src/module-info.java
@@ -0,0 +1,4 @@
+module com.calebfontenot.mp5.files_calebfontenot{
+ requires javafx.controls;
+ exports com.calebfontenot.mp5.files_calebfontenot;
+}
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenot/.mvn/jvm.config b/Semester 3/MP5-Binary-Files_CalebFontenot/.mvn/jvm.config
new file mode 100644
index 0000000..0472176
--- /dev/null
+++ b/Semester 3/MP5-Binary-Files_CalebFontenot/.mvn/jvm.config
@@ -0,0 +1 @@
+-XX:+UnlockExperimentalVMOptions -XX:+EagerJVMCI -XX:+EnableJVMCI -XX:+UseJVMCICompiler -XX:+UseJVMCINativeLibrary
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenot/Exercise17_01.txt b/Semester 3/MP5-Binary-Files_CalebFontenot/Exercise17_01.txt
new file mode 100644
index 0000000..beb751b
Binary files /dev/null and b/Semester 3/MP5-Binary-Files_CalebFontenot/Exercise17_01.txt differ
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenot/Exercise17_03.dat b/Semester 3/MP5-Binary-Files_CalebFontenot/Exercise17_03.dat
new file mode 100644
index 0000000..772c33c
Binary files /dev/null and b/Semester 3/MP5-Binary-Files_CalebFontenot/Exercise17_03.dat differ
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenot/Exercise17_05.dat b/Semester 3/MP5-Binary-Files_CalebFontenot/Exercise17_05.dat
new file mode 100644
index 0000000..7c2050f
Binary files /dev/null and b/Semester 3/MP5-Binary-Files_CalebFontenot/Exercise17_05.dat differ
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenot/mp5-binary-files-1.odt b/Semester 3/MP5-Binary-Files_CalebFontenot/mp5-binary-files-1.odt
index 4bd7c00..da83f09 100644
Binary files a/Semester 3/MP5-Binary-Files_CalebFontenot/mp5-binary-files-1.odt and b/Semester 3/MP5-Binary-Files_CalebFontenot/mp5-binary-files-1.odt differ
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenot/nb-configuration.xml b/Semester 3/MP5-Binary-Files_CalebFontenot/nb-configuration.xml
deleted file mode 100644
index f71d702..0000000
--- a/Semester 3/MP5-Binary-Files_CalebFontenot/nb-configuration.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
- all
- Graal_JDK_20
- true
-
-
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenot/nbactions.xml b/Semester 3/MP5-Binary-Files_CalebFontenot/nbactions.xml
deleted file mode 100644
index a0cb38e..0000000
--- a/Semester 3/MP5-Binary-Files_CalebFontenot/nbactions.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
- run
-
- jar
-
-
- clean
- javafx:run
-
-
-
- debug
-
- clean
- javafx:run@ide-debug
-
-
- true
-
-
-
- profile
-
- clean
- javafx:run@ide-profile
-
-
-
- CUSTOM-jlink
- jlink
-
- clean
-
- compile
- javafx:jlink
-
-
-
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenot/src/main/java/com/calebfontenot/mp5/binary/files_calebfontenot/Exercise17_01.java b/Semester 3/MP5-Binary-Files_CalebFontenot/src/main/java/com/calebfontenot/mp5/binary/files_calebfontenot/Exercise17_01.java
deleted file mode 100644
index 6c34692..0000000
--- a/Semester 3/MP5-Binary-Files_CalebFontenot/src/main/java/com/calebfontenot/mp5/binary/files_calebfontenot/Exercise17_01.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
- * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
- */
-package com.calebfontenot.mp5.binary.files_calebfontenot;
-
-/**
- *
- * @author caleb
- */
-public class Exercise17_01 {
- public static void main(String[] args) {
-
- }
-}
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenot/src/main/java/module-info.java b/Semester 3/MP5-Binary-Files_CalebFontenot/src/main/java/module-info.java
deleted file mode 100644
index 802273c..0000000
--- a/Semester 3/MP5-Binary-Files_CalebFontenot/src/main/java/module-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-module com.calebfontenot.mp5.binary.files_calebfontenot {
- requires javafx.controls;
- exports com.calebfontenot.mp5.binary.files_calebfontenot;
-}
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenotmp5-binary-files-1.odt.1 b/Semester 3/MP5-Binary-Files_CalebFontenotmp5-binary-files-1.odt.1
new file mode 100644
index 0000000..8d61661
Binary files /dev/null and b/Semester 3/MP5-Binary-Files_CalebFontenotmp5-binary-files-1.odt.1 differ
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenotmp5-binary-files-1.odt.2 b/Semester 3/MP5-Binary-Files_CalebFontenotmp5-binary-files-1.odt.2
new file mode 100644
index 0000000..6f88c6e
Binary files /dev/null and b/Semester 3/MP5-Binary-Files_CalebFontenotmp5-binary-files-1.odt.2 differ
diff --git a/Semester 3/MP5-Binary-Files_CalebFontenotmp5-binary-files-1.odt.3 b/Semester 3/MP5-Binary-Files_CalebFontenotmp5-binary-files-1.odt.3
new file mode 100644
index 0000000..443281a
Binary files /dev/null and b/Semester 3/MP5-Binary-Files_CalebFontenotmp5-binary-files-1.odt.3 differ
diff --git a/Semester 3/ZIPs/MP5-Binary-Files_CalebFontenot.zip b/Semester 3/ZIPs/MP5-Binary-Files_CalebFontenot.zip
new file mode 100644
index 0000000..4d43c54
Binary files /dev/null and b/Semester 3/ZIPs/MP5-Binary-Files_CalebFontenot.zip differ