O sistema não pode encontrar o arquivo especificado em java

Eu estou fazendo um programa que abre e lê um arquivo. Este é o meu código:

import java.io.*;

public class FileRead{
    public static void main(String[] args){
        try{
            File file = new File("hello.txt");
            System.out.println(file.getCanonicalPath());
            FileInputStream ft = new FileInputStream(file);

            DataInputStream in = new DataInputStream(ft);
            BufferedReader br = new BufferedReader(new InputStreamReader(in));
            String strline;

            while((strline = br.readLine()) != null){
                System.out.println(strline);
            }
            in.close();
        }catch(Exception e){
            System.err.println("Error: " + e.getMessage());
        }
    }
}

mas quando eu corro, recebo este erro:

C:\Users\User\Documents\Workspace\FileRead\hello.txt
Error: hello.txt (The system cannot find the file specified)

minhaFileRead.java ehello.txt onde no mesmo diretório que pode ser encontrado em:

C:\Users\User\Documents\Workspace\FileRead

Eu estou querendo saber o que estou fazendo errado?

questionAnswers(8)

yourAnswerToTheQuestion