Skip to content

Commit 7949c9e

Browse files
committed
feat: implement DataOutputStream and DataInputStream example for float arrays
WHAT: - Added `DataOutPutStreamExampleForFloat` class. - Demonstrates writing and reading an array of float values to/from a file. HOW: 1. Declared a float array with sample values. 2. Opened `FileOutputStream` wrapped in `DataOutputStream`. 3. First wrote array length using `writeInt()`. 4. Iterated over the array and wrote each float using `writeFloat()`. 5. Closed output streams. 6. Reopened the same file using `FileInputStream` + `DataInputStream`. 7. Read array length back using `readInt()`. 8. Read each float sequentially using `readFloat()` and printed values. 9. Closed input streams. KEY POINTS: - `DataOutputStream` and `DataInputStream` are paired classes to write and read Java primitives in a binary format. - Order of writing/reading must exactly match, else deserialization breaks. - This avoids manual string parsing and ensures efficient binary storage. REAL-WORLD APPLICATIONS: - Saving numerical datasets (e.g., sensor values, ML model parameters). - Game development (storing player stats, positions, scores). - Finance apps (writing and reading currency/exchange rate values). - Lightweight persistence without full database overhead. BENEFITS: - Compact binary storage (efficient space usage). - Faster read/write compared to text parsing. - Cross-platform consistency (same binary format for Java apps). NEXT IMPROVEMENTS: - Add try-with-resources to simplify stream closing. - Wrap logic into methods (`writeFloatArray`, `readFloatArray`) for reusability. - Add exception handling/logging for robustness. Signed-off-by: https://github.com/Someshdiwan <[email protected]>
1 parent 4b77d1b commit 7949c9e

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed
Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,32 @@
11
import java.io.*;
2-
public class DataOutPutStreamExampleForFloat
3-
{
4-
public static void main(String[] args) throws Exception
5-
{
6-
float list[]={1.2f , 3.45f , 6.78f , 9.01f , 2.34f};
2+
public class DataOutPutStreamExampleForFloat {
3+
public static void main(String[] args) throws Exception {
4+
float list[] = {1.2f , 3.45f , 6.78f , 9.01f , 2.34f};
75

8-
FileOutputStream fos=new FileOutputStream("C://Users\\somes\\Downloads\\JAVA SE\\Section23JavaIOStreams\\Serialisation Storing Data in a File\\MyJAVA\\List.txt");
9-
DataOutputStream dos=new DataOutputStream(fos);
6+
FileOutputStream fos = new FileOutputStream("/Users/somesh/Java SE/JavaEvolution-Learning-Growing-Mastering/Section23JavaIOStreams/src/MyJAVA/List.txt");
7+
DataOutputStream dos = new DataOutputStream(fos);
108

119
dos.writeInt(list.length);
12-
for(float f:list)
13-
{
10+
11+
for(float f:list) {
1412
dos.writeFloat(f);
1513
}
1614

1715
dos.close();
1816
fos.close();
1917

20-
FileInputStream fis=new FileInputStream("C://Users\\somes\\Downloads\\JAVA SE\\Section23JavaIOStreams\\Serialisation Storing Data in a File\\MyJAVA\\List.txt");
18+
FileInputStream fis=new FileInputStream("/Users/somesh/Java SE/JavaEvolution-Learning-Growing-Mastering/Section23JavaIOStreams/src/MyJAVA/List.txt");
2119
DataInputStream dis=new DataInputStream(fis);
20+
2221
int length=dis.readInt();
22+
2323
float data;
2424

25-
for(int i=0;i<length;i++)
26-
{
27-
data=dis.readFloat();
25+
for(int i=0;i<length;i++) {
26+
data = dis.readFloat();
2827
System.out.println(data);
2928
}
3029
dis.close();
3130
fis.close();
32-
3331
}
34-
}
32+
}
24 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)