-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.java
More file actions
116 lines (104 loc) · 3.27 KB
/
Main.java
File metadata and controls
116 lines (104 loc) · 3.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
package file_structure;
// Main.java - Demo and test program
public class Main {
public static void main(String[] args) {
// Create file system: 4KB blocks, 1000 blocks, 500 inodes
FileSystem fs = new FileSystem(4096, 1000, 500);
System.out.println("=== Linux File System Demo ===\n");
System.out.println(fs.getStats());
System.out.println();
// Create directories
System.out.println("Creating directories...");
fs.createDirectory("/home", 1000, 1000);
fs.createDirectory("/home/user", 1000, 1000);
fs.createDirectory("/var", 0, 0);
fs.createDirectory("/var/log", 0, 0);
System.out.println("✓ Directories created");
System.out.println();
// Create files
System.out.println("Creating files...");
fs.createFile("/home/user/file1.txt", 1000, 1000);
fs.createFile("/home/user/file2.txt", 1000, 1000);
fs.createFile("/var/log/system.log", 0, 0);
System.out.println("✓ Files created");
System.out.println();
// Write to file
System.out.println("Writing to file...");
String content = "Hello, Linux File System!\nThis is a test file.";
fs.writeFile("/home/user/file1.txt", content.getBytes());
System.out.println("✓ Data written to /home/user/file1.txt");
System.out.println();
// Read from file
System.out.println("Reading from file...");
byte[] data = fs.readFile("/home/user/file1.txt");
System.out.println("Content: " + new String(data));
System.out.println();
// List directory contents
System.out.println("Listing /home/user:");
for (String file : fs.listDirectory("/home/user")) {
System.out.println(" - " + file);
}
System.out.println();
System.out.println("Listing /var/log:");
for (String file : fs.listDirectory("/var/log")) {
System.out.println(" - " + file);
}
System.out.println();
// Delete file
System.out.println("Deleting file...");
fs.deleteFile("/home/user/file2.txt");
System.out.println("✓ /home/user/file2.txt deleted");
System.out.println();
System.out.println("Listing /home/user after deletion:");
for (String file : fs.listDirectory("/home/user")) {
System.out.println(" - " + file);
}
System.out.println();
// Final stats
System.out.println(fs.getStats());
}
}
/*
* Expected Output:
* === Linux File System Demo ===
*
* File System Stats:
* Block Size: 4096 bytes
* Free Blocks: 999
* Free Inodes: 494
* Total Files: 6
* State: CLEAN
*
* Creating directories...
* ✓ Directories created
*
* Creating files...
* ✓ Files created
*
* Writing to file...
* ✓ Data written to /home/user/file1.txt
*
* Reading from file...
* Content: Hello, Linux File System!
* This is a test file.
*
* Listing /home/user:
* - file1.txt
* - file2.txt
*
* Listing /var/log:
* - system.log
*
* Deleting file...
* ✓ /home/user/file2.txt deleted
*
* Listing /home/user after deletion:
* - file1.txt
*
* File System Stats:
* Block Size: 4096 bytes
* Free Blocks: 998
* Free Inodes: 495
* Total Files: 5
* State: CLEAN
*/