Boa noite, podem me ajudar? Comecei recentemente a estudar programação e estou tendo dificuldade para lidar com arquivos, não estou conseguindo escrever nos arquivos. Acredito que a parte da leitura esteja certa, mas como não tem nada para ler ocorre o erro. Sim, sei que poderia utilizar o hasNext(); no condicional para não travar o programa. Por favor, me ajudem
publicstaticvoidmain(String[]args)throwsIOException{Filefile=newFile("NewFile.txt");ScannerscanF=newScanner(file);PrintWriterwriter=newPrintWriter(file);writer.println("This is the first line.");writer.println("This is the second line.");if(file.exists()){JOptionPane.showMessageDialog(null,"Exists");JOptionPane.showMessageDialog(null,("FirstLineContent: "+scanF.nextLine()));}else{JOptionPane.showMessageDialog(null,"Doesn't exists");}}
Vc está tentando ler um arquivo que não existe, o correto seria:
publicstaticvoidmain(String[]args)throwsIOException{newExemplo().arquivo();}publicvoidarquivo(){try{Filefile=newFile("arquivo.txt");if(file.exists()){//se existirSystem.out.println("Arquivo Existe\n");BufferedReaderbr=newBufferedReader(newFileReader(file));while(br.ready()){Stringlinha=br.readLine();System.out.println(linha);}br.close();}else{//senãoFileWriterarq=newFileWriter(file);PrintWritergravarArq=newPrintWriter(arq);gravarArq.println("Primeira Linha.");gravarArq.println("Segunda Linha.");arq.close();System.out.println("Arquivo salvo com sucesso");}}catch(IOExceptione){e.printStackTrace();}}
M
Marcelloborg0501
Eu não entendi quase nada dos outros métodos do Buffer e do FileWriter, mas o arquivo já se encontra feito. Na verdade eu já o havia escrito anteriormente e ele está lendo normalmente nos meus novos testes. O problema se encontra no momento de escrevê-lo. Mas tentarei utilizar os métodos que você utilizou
R
rodriguesabner
Cara, esse fonte que eu passei é do DevMedia, há diversas formas de se fazer o que vc quer:
PrintWriterescrever=newPrintWriter(file);//pega o arquivoescrever.println("1. Java");//escreveescrever.println("2. JavaScript");//escreveescrever.println("3. PHP");//escreveescrever.println("4. Pyhton");//escreveescrever.println("5. Objective C");//escreveescrever.close();//fecha o arquivo, para poder manipular depois//USA UM OU OUTRO, SE TENTAR OS DOIS, ELE VAI SALVAR UM ARQUIVO EM BRANCOFileWriterinserindo=newFileWriter(file);//mesma coisa de cimaescrever.write("1. Java");escrever.write("2. JavaScript");escrever.write("3. PHP");escrever.write("4. Pyhton");escrever.write("5. Objective C");inserindo.close();
publicstaticvoidmain(String[]args)throwsIOException{Filefile=newFile("NewArchive.txt");PrintWriterwriter=newPrintWriter(file);Scannerscan=newScanner(System.in);ScannerscanFile=newScanner(file);writer.println("This is the first line");writer.println("This is the second line");writer.close();System.out.println("Step1: Done! Press 1 to read!");intstop=scan.nextInt();Stringline1=scanFile.nextLine();Stringline2=scanFile.nextLine();System.out.println("Line 1 content = "+line1);System.out.println("Line 2 content = "+line2);}
}
M
Marcelloborg05011 like
Obs: o problema do meu programa era o “.close()” . Visualizei depois de muitos testes que se não fechar a variável de pesquisa ele não salva no arquivo, apenas isso. kkkkkk Sim é revoltante!
R
rodriguesabner
Kkkkkkkk boa! Pelo menos agora vc não esquece mais