Your question is rather broad to get much help here. What specifically are you having trouble with? What have you tired, and how is it working?
Folks here love to help you solve your problems, but they don't really like to write your code for you.
As with all projects, I would suggest breaking it down into smaller, discrete parts. The various tasks I see that are all independent of each other are:
1) get a list of files from a given directory
2) Given a list of files, display them
3) Allow a user to select one or more files from a GUI
4) given a list of files, read them into memory
5) given a file, delete it.
Each and every one of these five items can be written without any of the other four working. Write the methods independently of each other.
Test each until you are 100% sure they are bullet proof, then test them all again and again.
Only when you are 1000% sure they work should you start wiring them together.