Aguardando arquivo ser criado

Boa tarde galera.

Qual a melhor forma de a minha aplicação aguardar a chegada de um arquivo e depois de sua existência eu executar a leitura dele, só preciso saber qual a melhor forma de aguardá-lo, o resto da execução tá tranquilo. O que acontece, será enviado por um PC, através do cabo usb um arquivo com dados, então eu pego esses dados e removo o arquivo.
Tava pensando em fazer uma Thread com um Thread,sleep, mas não sei se é a melhor forma. Alguma dica?

Olá Lucas

O ideal é usar um watcher/observer de arquivos. O Android possui classes para isso já prontas:
http://developer.android.com/reference/android/os/FileObserver.html

abraços

Criei o método abaixo, ele até inicia, coloquei uma mensagem pra testar, mas quando copio o arquivo pra dentro da pasta não faz nada

public void observarArquivo() {
		Toast.makeText(getBaseContext(), "entrou", Toast.LENGTH_SHORT).show();
		foArquivo = new FileObserver(diretorio.toString() + "/og.txt") {
			@Override
			public void onEvent(int event, String file) {
				if (event == FileObserver.CREATE) {
					tvCodigoLido.setText("arquivo encontrado");
				}
			}
		};
		foArquivo.startWatching();
		Toast.makeText(getBaseContext(), "saiu", Toast.LENGTH_SHORT).show();
	}

E inicio o métrodo lá no início do programa, aparece a mensatem Toast, entrou e depois saiu, mas nunca entra no if e não dá erro nenhum.

Esse código deve estar dentro do onEvent já que você quer que o toast apareça só nesse caso.

Pois o evento será assíncrono.