Usando uma variavel para definir o nome do arquivo

3 respostas
P

Olá a todos.

Eu preciso gravar em arquivos TXT informações digitadas pelo usuário.
Até aí sem problema. Gravo arquivos tranquilo.
Estou fazendo da seguinte forma:

try {
          //Gravando no arquivo
    	 File arquivo;
    	 arquivo = new File("Arquivo.txt");
         FileOutputStream fos = new FileOutputStream(arquivo);
         String texto = "LINHA NUMERO UM";
         fos.write(texto.getBytes());
         texto = "\nLINHA NUMERO DOIS";
         
         fos.write(texto.getBytes());
         fos.close();

         // Lendo do arquivo
         arquivo = new File("arquivo.txt");
         FileInputStream fis = new FileInputStream(arquivo);

         int ln;
         while ( (ln = fis.read()) != -1 ) {
            System.out.print( (char)ln );
         }

         fis.close();
      }

O problema, é que agora eu preciso que o usuário informe o nome do arquivo a ser gravado.
Algo do tipo:

Scanner leia = New Scanner("System.in");
System.out.println("Digite o nome do arquivo: ");
nomearquivo = leia.next();

Como eu faço pra usar o valor armazenado na variavel "nomearquivo" para ser o nome do arquivo salvo em .TXT??

Obrigado

3 Respostas

Thiago_Luis

Fala cara, blza?

Pegue o nome digitado pelo usuário e faça um concat para outra variável adicionando .txt

String n = null; nomearquivo = leia.nextLine(); n = nomearquivo.concat(".txt");
Daí é só usar a variável n para pesquisar o arquivo.

Abraço

P
Thiago Luis:
Fala cara, blza? Pegue o nome digitado pelo usuário e faça um concat para outra variável adicionando .txt
String n = null;
nomearquivo = leia.nextLine(); 
n = nomearquivo.concat(".txt");
Daí é só usar a variável n para pesquisar o arquivo.

Abraço

Muito boM!!! Agora eu tenho o nome que o usuario digitar. Fantastico.
Achei que era mais complicado. Vou dar uma lida na documentação!
:D :D :D :D :D :D :D :D :D :D :D
Mas agora me deparei com outro problema. Como eu utilizo a variavel N na gravação e leitura?

Por exemplo:

try {
          //Gravando no arquivo
    	 File arquivo;
    	 arquivo = new File("Arquivo.txt");
         FileOutputStream fos = new FileOutputStream(arquivo);
         String texto = "LINHA NUMERO UM";
         fos.write(texto.getBytes());
         texto = "\nLINHA NUMERO DOIS";
         
         fos.write(texto.getBytes());
         fos.close()

Se eu coloco a variavel N nos parametros de File,dá erro.
Como eu mostro pra ele que ele tem que usar aquele nome pra gravar?

File arquivo;
    	 arquivo = new File(n);

Devo estar fazendo uma baita cavalisse....
Eu posso continuar usando o File pra isso?
Pra ler eu tbm nao sei como fazer, mas acredito que seja quase da mesma forma que pra gravar.

Valeu!!
Ajudou bastante. Se puder dar essa mao a mais!

Obrigado!

P

Foi mal galera. Deu certo.

Minha cavalisse era que minha variavel do tipo Scanner tava com aspas

Scanner leia = new Scanner("System.in");

Sacanagem!!

Obrigado. Essa foi demais.
Valeeu!!

Criado 7 de junho de 2009
Ultima resposta 7 de jun. de 2009
Respostas 3
Participantes 2