Project

File Type Analyzer with Java

402 completions
~ 35 hours
4.2

Figure out multithreading and learn to work with Knuth-Morris-Pratt algorithm, a must-know for every developer. Consider Rabin-Karp algorithm the icing on the cake. Good luck!

Provided by

JetBrains Academy JetBrains Academy

About

Files come in all possible formats: we usually see it specified in their names. Even if the file type was manual changed or even removed, information about the type is always contained within the file. And in this project, you will write a tool that will extract this info to determine the type of the file. You’ll try out different algorithms to solve this problem, and will see for yourself how using different algorithms will change the speed of the tool. You will practice concepts frequently tested in technical interviews at top tech companies.

Training project icon

Training project

This project allows you to practice and strengthen your coding skills, helping you get ready for more advanced tasks ahead.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
PDF or not PDF, that is the question. Teach your program to determine whether your file is of this format or not: it’s a nice start.
Using the old favourite Knuth-Morris-Pratt algorithm, improve your search and enable the program to display the time elapsed.
Practice your multithreading skills and apply Callable and Future interfaces to enable your analyzer to search for files with specific extensions.
With the help of Insertion and Merge sort, allow your program to recognize 14 different types of extension and prioritize your sort.
Improve and speed up the search using Rabin-Karp algorithm.

Reviews

Ekaterina Farygina avatar
Ekaterina Farygina
1 year ago
Learned different algorithms regarding substring searching and some hash functions
Yaroslav Malyarskyy
2 years ago
I have learned about substring search algorithms and hash functions!
Keri Southwood-Smith avatar
Keri Southwood-Smith
2 years ago
I have learned about hashing and various implementations to search for a substring in text.

4.2

Learners who completed this project within the course rated it as follows:
Usefulness
4.4
Fun
4.2
Clarity
4.1