Aqui está o programa, e o arquivo daonde ele le (codificação ANSI):
public class Main {
public static void main(String[] args){
ReadFile r = new ReadFile();
r.readFile(); // linha 9!!!!!!!!!!!!!!!!!!!!!! (indicada pelo erro)
r.closeFile();
}
}
import java.io.*;
import java.util.*;
public class ReadFile {
private Scanner x;
public ReadFile(){
try{
x = new Scanner(new File("test.txt"));
}
catch(Exception e){
System.out.println("nao abriu o arquivo");
}
}
public void readFile(){
while(x.hasNext()){ //linha 23!!!!!!!!!!!!!!(indicada pelo erro)
String a = x.next();
String b = x.next();
String c = x.next();
System.out.printf("%s %s %s\n", a, b, c);
}
}
public void closeFile(){
x.close();
}
}
Arquivo test.txt(localizado no mesmo diretorio do código fonte do programa):
20 bucky roberts
60 joe doe
50 mike ike
49 sis priss
quando eu tento rodar o programa, por algum motivo ele nao consegue ler o arquivo e dá esse erro:
"run:
Exception in thread “main” java.lang.NullPointerException
nao abriu o arquivo
at ReadFile.readFile(ReadFile.java:23)
at Main.main(Main.java:9)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
"
a variavel x ta null pelo jeito, mas nao sei porque…
por que será que está acontecendo isso?
PS.: as numeração das linhas daqui estão diferentes do meu editor aqui porque eu tirei alguns comentários do início, mas indiquei no código onde dá o erro
eu ja disse o q acontece quando tira o void…
mas agora minha namorada tinha alterado la no “new File(test.txt)” e colocou o caminho completo pro arquivo e funcionou… mas nao sei por que nao funciona como eu deixei
ta resolvido já o problema… tinha que mudar o diretório de trabalho nas configurações do projeto XD
minha namorada achou isso, aí é só colocar como diretório de trabalho o /src… (no netbeans)
[quote=gpd38]Sei que conseguiu resolver mas so para dar uma dica.
Crie classes separadas tipo: Le_Arquivo / Grava_Arquivo / que serão classes que possivelmente ira usar novamente.
Assim você reaproveita codigo[/quote]
E deixa em um pacote “utils” (de utilidades) onde vc guarda esse tipo de coisa, como ler arquivos, mandar email, etc