[RESOLVIDO] dúvida ao ler arquivo na system32

0 respostas
V

Olá, amigos. Tenho um problema.
Acontece que eu preciso ler um arquivo na pasta system32, estou utilizando o seguinte código:

public String getLocalArquivos (){
		String sRetorno = "";	
		if ( utilizadll ){		
			FileReader arq;	
			try{
				arq = new FileReader("C:/WINDOWS/system32/Arq.ini");
				if ( arq == null ) {
					JOptionPane.showMessageDialog( null, "Arquivo não encontrado!" );
					return "";
				}
				BufferedReader bufferedReader = new BufferedReader( arq );

				String tmp = null;
				while ( ( tmp = bufferedReader.readLine() ) != null ) {
					if ( tmp.length() >= 8 && tmp.substring( 0, 4 ).equals( "Path" ) ){
						sRetorno = tmp.substring( 5 ).trim();
						break;
					}
					else continue;
				}
				bufferedReader.close();
			}

			catch(IOException e){
				JOptionPane.showMessageDialog( null, "Erro ao buscar endereço do arquivo: " + e.toString() );
				e.printStackTrace();
			}
			catch(Exception e){
				JOptionPane.showMessageDialog( null, "Erro ao buscar endereço do arquivo: " + e.toString() );
				e.printStackTrace();
			}
		}
		
		return sRetorno;
	}

Mas eu não queria ter que utilizar o endereço

C:\WINDOWS\system32\Arq.ini

para ter acesso ao mesmo. Tentei utilizar a variável de ambiente windir, da seguinte forma abaixo, mas não localizou o arquivo.

%windir%\system32\Arq.ini

Mas... pq quero fazer isso? Pois pode acontecer que o windows não esteja instalado em C:... e depois que eu compilar este código não poderei alterá-lo tão cedo.

Alguém sabe como posso fazer isso?

Desde já agradeço.

O PROBLEMA FOI RESOLVIDO DA SEGUINTE FORMA:

Existe uma função do Java que retorna o valor da variável de ambiente que eu quiser, então utilizei

String Sysvar = System.getenv("windir");

e resolvi meu problema.
Abraço!

Criado 8 de novembro de 2011
Respostas 0
Participantes 1