Uso de objeto File() para localizar um arquivo na rede local

Olá,
Minha questão talvez seja muito simples, mas como não tenho noções, mesmo elementares, sobre redes locais, pediria que alguém me ajudasse por favor.
Eu tenho que fazer um programa que lê um arquivo jpeg e o carrega num arranjo de bytes. O problema é que esse programa tem que ser muito genérico quanto à localização do arquivo: ele pode estar num disco local (Windows ou Linux), pode estar num computador qualquer numa rede local, ou pode estar num HD externo - tipo esses HDs de 1 TeraByte que se vê por aí.
Daí a minha pergunta: eu poderia pedir ao usuário que digitasse o caminho para o arquivo numa String, e com essa String cirar um objeto File que se referisse ao arquivo? Por exemplo:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String nomeDoArquivo = br.readLine(); 
File arq = new File(nomeDoArquivo); 
// segue o código... 

O código acima daria certo nas situações que descrevi?
Obrigado pela ajuda…
Hel_All

Dá certo até que dá. Mas se possível utilize um JFileChooser para o usuário escolher o arquivo.
O usuário escolhendo você não dá a chance de uma digitação de String incorreta.