Create vb.net classes for iterating over a directory tree, gathering file information, and saving the file details to disk (to a CSV or similar file). The following rough guide for how the classes should be laid out should be used:
Scanner - Takes the top level directory, scans for all files in the directory and returns "FileSet" class with all the files (and related FileInfo) from within the directory.
FileInfo - Stores information about the file:
- size in bytes (needs to support files as big as 64GB)
- file path
- file extension
- file name
- SHA1 hash of the file contents (string format)
- SHA1 hash of the first 1024 bytes of the file
FileSet - Stores a set of "FileInfo" classes with the ability to add/remove and iterate over the files via class functions
Some other notes:
- Should be able to call a "refresh" function on the FileInfo class to rescan that file and update it's information
- When calculating the SHA1 hash, should not read entire file into memory at once (must be able to scan really large files). Should use file streams.
- Should be able to call "save_to_disk" function on a FileSet to save that fileset's information (FileInfo objects) to disk (CSV format)
- Should be able to call "load_from_disk" function on a FileSet to load the fileset's information (FileInfo object) from disk
- Must be written in VB.net using .net framework 4.0
- Must use proper OO techniques
- Should contain in-line code documentation
- No external third-party libraries should be used
- Must be custom written, no code copied from other sources
Please ask if you have any questions.
3 freelancers are bidding on average $110 for this job
I've been coding in .Net for about a year, and have been a VB programmer for over a decade. I can get this done quickly and with great self-documenting and documented code. You won't be disappointed in my work.