Skip to content
This repository has been archived by the owner on Jan 20, 2023. It is now read-only.

rivit98/DiskStalker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DiskStalker

DiskStalker is a small application for monitoring contents of selected folders. It provides the ability to set notifications about three types of statistics:

  • total folder size
  • number of files inside folder
  • size of largest file

App also shows stats about type of files inside selected folder and presents list of largest files.

DiskStalker is using polling method for tracking changes in directory. Better approach is to use WatchService API but it does not work well on Windows (it blocks the files, so you are not able to delete files from observed folder, see StackOverflow).

Presentation: YouTube

Screenshots

1
Main View

2
Files type view

3
Largest files view

4
Total folder limit set

5
Total folder limit exceeded

Usage

Visit Releases and download .jar. Then run:

java -jar nameOfTheJarFile.jar

Importing

git clone https://github.com/rivit98/DiskStalker.git

and import as Gradle project

Used technologies and libraries

  • Java 15
  • JavaFX
  • RxJava3
  • Spring (for dependency injection)
  • SQLite
  • Apache commons IO
  • Apache Tika
  • Mockito
  • JUnit5

Known issues and possible improvements

  • something is wrong with TypeRecognizer and 'unknown' file types
  • removing huge folders (~30k files) taking quite long time
  • usage of observable buffering might be significant improve of removing times

Authors


Kamil Wnęk

Kamil Koczera

Albert Gierlach