Leitura de arquivo para variavel

Pessoal, meu problema é o seguinte:
Estou querendo armazenar o conteúdo de qualquer arquivo que seja (.txt, .exe, .jpg, etc) em uma variavel (não sei direito qual tipo usar).

Acho que usar o objeto BufferedReader para ler linha a linha não vai funcionar para arquivos de tipos como .exe, .jpg etc.

Se alguem puder ajudar eu agradeço!

Vlw

Você quer ler um arquivo inteiro para um array de bytes? Boa sorte. O código abaixo lê arquivos de no máximo 2 GB, isso se a memória do Java permitir. O código abaixo não tem o tratamento das exceções.

File f = new File ("seu.arquivo.gigante");
int tamanho = (int) f.length();
byte[] bytes = new byte[tamanho];
InputStream is = new FileInputStream (f);
is.read (bytes);
is.close();

Valeu cara!
Agora o problema maior. Quero jogar o conteudo desse cara pra dentro de um campo de uam tabela no sqlserver 2005.

Criei o campo lá como Nvarchar(max) pra não da problema de tamanho … e estou tentando usar o setNString do objeto PreparedStatement. Mas ele fica dando erro porque espera um tipo String. Tentei usar o setBinaryStream que recebe o InputStream no qual tenho o conteudo do arquivo … mas mesmo assim da erro e não sei porque.

Fumaçando a cabeça aqui já …