File Management Program Sample
File Management Program Sample
FILE DIRECTORIES
1. SINGLE FILE DIRECTORY
#include <iostream> }
#include <string> }
#include <vector>
private:
class File { std::vector<File> files;
public: };
File(std::string name) : name(name) {}
int main() {
std::string getName() const { SingleLevelDirectory directory;
return name; directory.addFile(File("file1.txt"));
} directory.addFile(File("file2.txt"));
directory.addFile(File("file3.txt"));
private:
std::string name; std::cout << "Files in Single-level
directory:" << std::endl;
};
directory.listFiles();
class SingleLevelDirectory {
return 0;
public:
}
void addFile(File file) {
files.push_back(file);
}
} std::unordered_map<std::string,
std::vector<File>> directories;
};
private:
std::string name;
int main() {
};
TwoLevelDirectory directory;
directory.addFile("dir1", File("file1.txt"));
class TwoLevelDirectory {
directory.addFile("dir2", File("file2.txt"));
public:
directory.addFile("dir1", File("file3.txt"));
void addFile(std::string directoryName,
File file) {
std::cout << "Files in Two-level directory
directories[directoryName].push_back(file); 'dir1':" << std::endl;
} directory.listFiles("dir1");
return name;
} void listFiles() const {
for (const File& file : files) {
private:
void addFile(File file) {
std::string name;
files.push_back(file);
std::vector<File> files;
std::unordered_map<std::string,
TreeNode*> subDirectories;
};
int main() {
TreeNode root("root");
TreeNode dir1("dir1");
TreeNode dir2("dir2");
dir1.addFile(File("file1.txt"));
dir1.addFile(File("file2.txt"));
dir2.addFile(File("file3.txt"));
root.addSubDirectory("dir1", &dir1);
root.addSubDirectory("dir2", &dir2);
createFile(filename);
// Function to write to a file
void writeFile(const std::string& filename,
const std::string& content) { writeFile(filename, "Hello, this is line
1.");
std::ofstream file(filename, std::ios::app);
writeFile(filename, "And this is line 2."); if (file) {
file << content << std::endl;
readFile(filename); std::cout << "Content written to file
'" << name << "'." << std::endl;
} else {
deleteFile(filename);
std::cerr << "Failed to open the file
for writing." << std::endl;
return 0;
}
}
}
File file3("file3.txt");
void listFiles() const {
file3.writeContent("Content of file3.");
if (files.empty()) {
directory.addFile(file3);
std::cout << "No files in the
directory." << std::endl;
directory.listFiles();
} else {
std::cout << "Files in the directory:"
<< std::endl; file1.readContent();
for (const File& file : files) { file2.readContent();
std::cout << file.getName() << file3.readContent();
std::endl;
}
file1.deleteFile();
}
file2.deleteFile();
}
file3.deleteFile();
private:
return 0;
}