This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything else useful to implementing this project.
This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the define the end point, or a series of ever more difficult versions of this project, and research the information yourself to solve them.
Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many other projects of my own.
Though I am a programmer, I don’t do people’s homework for them. That just robs them of an education.
You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.
Please do not email me about this project without reading the disclaimer above.
The File Find that comes with Windows is inept. It is very slow because uses a brute force search of the entire disk. When it shows you the results it won’t let you copy/paste them. Why else were you looking?Your task is to write a platform independent Fast File Find. I suggest you tackle it like this:
There is a change-tracking facility built into Win2K, and Win2K also implements a find utility that’s based on an index (database) of the disk, using Microsoft Index Server (which comes bundled with Win2K). Windows 2000 now has a “fast find” built-in. It is hopelessly slow the way it grinds away for hours building indexes of file content that are always out of date.
If you do hook into the OS for change notification, make sure you do your processing asynchronously. You don’t want to tie up the universe while you update your database. Just enqueue the work to be done later, so you don’t overload the system. Later when things aren’t so frantic you will eventually catch up.
The reasons I originally wanted to write a file find to replace Microsoft’s are:
One nice thing about native classes is you can add more implementations later without disturbing existing code. JWS (Java Web Start) selects the right library for you.
Desktop Google has provided a fast search, but by content, not by name.
|
|
You can get the freshest copy of this page from: | or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror) |
| http://mindprod.com/project/filefinder.html | J:\mindprod\project\filefinder.html | |
![]() | ||
| Canadian Mind Products | ||
| mindprod.com IP:[65.110.21.43] | ||
| view Blog | Your face IP:[38.107.179.211] | |
| Feedback | You are visitor number 18,995. | |