Criacao de arquivo a cada nova consulta

4 respostas
E

Boa tarde pessoal.

Estou tentando fazer um aplicativo que a cada busca ele cria um novo arquivo txt que neste caso é um conteúdo HTML.
Porém nao estou conseguindo fazer com que este arquivo seja salvo com nomes diferentes, por exemplo, a cada nova consulta ele devera salvar como, teste0.txt, teste1.txt, teste2.txt, teste3.txt …testeN.txt…
Abaixo, estou enviando parte do código.

import <a href="http://java.io">java.io</a>.*;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.URL;

import java.net.URLConnection;

import java.util.Properties;

import javax.swing.JOptionPane;

public class ExecutaLeituraNovo {

public static void main(String[] args) throws Exception {
    int i = 0;



    Properties systemSettings = System.getProperties();

    String entradaDoUsuario = null;


    entradaDoUsuario = JOptionPane.showInputDialog(null, "Digite o que deseja consultar");
    entradaDoUsuario=entradaDoUsuario.replace(" ","+");
    URL url = new URL("http://www.fandango.com/GlobalSearch.aspx repos=People&tab=Movies+People&q="+entradaDoUsuario);

    URLConnection yc = url.openConnection();
    sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
    yc.connect();
    BufferedReader in = new BufferedReader(new InputStreamReader(yc
            .getInputStream()));
    String inputLine;

    try {
    File file = new File("D:\\teste"+(i)+".txt");

    boolean success = file.createNewFile();
     
            if (success) {

            if (!file.exists()){

                    saveTextFile(in.readLine(),file);
                    i = i++;
                    in.close();
            }
                
        else {
  
               }
            }
     
    } catch (IOException e) {
    }

}

public static void saveTextFile(String contents, File file) throws IOException {
 PrintWriter out = new PrintWriter(new FileWriter(file,true));
 out.print(contents);
 out.close();
}

}

Agradeço a atençao desde já

Obrigado :stuck_out_tongue:

4 Respostas

maschiojv

substitua i = i++; por apenas i++;

E

Entao, eu fiz estes testes, mas acontece que o contador nao fica armazenado na memória e em uma nova consulta o mesmo é sobreescrito e nao criado um novo arquivo.

Obrigado

maschiojv

O melhor a fazer é o seguinte:

lembre de usar as tegs code aqui no forum

public class ExecutaLeituraNovo {

  public static void main(String[] args) throws Exception {

    String entradaDoUsuario = null;

    entradaDoUsuario = JOptionPane.showInputDialog(null, "Digite o que deseja consultar");
    entradaDoUsuario = entradaDoUsuario.replace(" ", "+");
    URL url = new URL("http://www.fandango.com/GlobalSearch.aspx?repos=People&tab=Movies+People&q=" + entradaDoUsuario);

    URLConnection yc = url.openConnection();
    yc.connect();
    BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));

    try {

      File file;
      
      int i = 0;
      do{
        file = new File("D:\teste" + (i) + ".txt");
        i++;
      }
      while(file.exists());

      boolean success = file.createNewFile();
      if (success) {
          saveTextFile(in.readLine(), file);
          in.close();
      }
    }
    catch (IOException e) {
      //nunca deize um catch vazio 
      e.printStackTrace();
    }
  }

  public static void saveTextFile(String contents, File file) throws IOException {
    PrintWriter out = new PrintWriter(new FileWriter(file, true));
    out.print(contents);
    out.close();
  }
}
E
maschiojv:
O melhor a fazer é o seguinte:

lembre de usar as tegs code aqui no forum

public class ExecutaLeituraNovo {

  public static void main(String[] args) throws Exception {

    String entradaDoUsuario = null;

    entradaDoUsuario = JOptionPane.showInputDialog(null, "Digite o que deseja consultar");
    entradaDoUsuario = entradaDoUsuario.replace(" ", "+");
    URL url = new URL("http://www.fandango.com/GlobalSearch.aspx?repos=People&tab=Movies+People&q=" + entradaDoUsuario);

    URLConnection yc = url.openConnection();
    yc.connect();
    BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));

    try {

      File file;
      
      int i = 0;
      do{
        file = new File("D:\teste" + (i) + ".txt");
        i++;
      }
      while(file.exists());

      boolean success = file.createNewFile();
      if (success) {
          saveTextFile(in.readLine(), file);
          in.close();
      }
    }
    catch (IOException e) {
      //nunca deize um catch vazio 
      e.printStackTrace();
    }
  }

  public static void saveTextFile(String contents, File file) throws IOException {
    PrintWriter out = new PrintWriter(new FileWriter(file, true));
    out.print(contents);
    out.close();
  }
}

Excelente !!!

Muito obrigado !!!

Criado 9 de maio de 2009
Ultima resposta 10 de mai. de 2009
Respostas 4
Participantes 2