Ajuda com meu código fonte

5 respostas
M

Pode parecer muita coisa mais é simples: toda vez que o usuário seleciona lasanha e clica em enviar ele entra nessa parte do código que colei.

O que eu quero fazer é: (somar +1 no lasanha.txt toda vez q a opção lasanha for selecionada e enviada)
1º Criar um arquivo lasanha.txt e se nao tiver nada escrito nele, escrever 0.
2º Pegar o que ta escrito no lasanha.txt, armazenar na variavel n, somar n+1, apagar lasanha.txt.
3º Depois criar denovo lasanha.txt e escrever a variável n anterior nela.

Como to aprendendo agora nao sei o que posso ou não posso fazer ou alternativas.

FileWriter lasanha = new FileWriter("c:/lasanha.txt",true);
                if("c:/lasanha.txt" == null)
                {
                    lasanha.write("0");
                    lasanha.close();
                }
                FileReader fr = new FileReader ("c:/lasanha.txt");
                BufferedReader br = new BufferedReader (fr);
                String l = br.readLine();
                
                int n = Integer.parseInt(l);
                n = n +1;
                
                File file = new File("c:/lasanha.txt");
                file.delete();
                
                FileWriter lasanha2 = new FileWriter("c:/lasanha.txt",true);
                
                lasanha2.write(n);
                lasanha2.close();
                session.setAttribute("lasanhaa", n);

O que está errado no código?

5 Respostas

Rodrigo_Sasaki

if("c:/lasanha.txt" == null)Por que está comparando com uma String?

M

Estou verificando se tem algo escrito em lasanha.txt, se o txt estiver vazio ele escreve o numero 0 nele.
Preciso que algum numero esteja escrito nele, pq depois eu converto o que ta escrito no txt para int.

Rodrigo_Sasaki

Eu entendo, mas você está comparando com uma String, não com o arquivo.

E você não precisa excluir o arquivo, é só sobrescrevê-lo

M

Qual código para reescrever? pq quando eu reescrevo o que estava anteriormente no arquivo não apaga, ele adiciona.
como eu faço essa comparação?

Rodrigo_Sasaki

Na verdade você fez o mais incomum. A flag booelan que você manda com valor true que diz que é pra continuar escrevendo no arquivo.FileWriter fw1 = new FileWriter("caminho_do_arquivo"); // reescreve o arquivo FileWriter fw2 = new FileWriter("caminho_do_arquivo", true); // continua escrevendo ao final do arquivo

Criado 9 de junho de 2014
Ultima resposta 9 de jun. de 2014
Respostas 5
Participantes 2