Abrir arquivo em Java

Abri um novo projeto e coloquei esse código, apareceu um monte de erros e desisti haha…
Não sei porque o meu projeto não roda, já tentei de tudo, já pedi ajuda em outros lugares e nada.

O código que te passei roda sem qualquer tipo de problema.

Posta o erro.

[quote=jrmelo]O código que te passei roda sem qualquer tipo de problema.

Posta o erro.
[/quote]

Ele não apresenta erros, mas quando eu vou em Run > Run As aparece None Applicable.

[quote=jrmelo]O código que te passei roda sem qualquer tipo de problema.

Posta o erro.
[/quote]

Desculpa fiz confusão, no que você me passou todas as linhas ficam o “x” vermelho do lado.
Já o meu codigo não apresenta nenhum tipo de erro, mas quando eu vou tentar rodar fala None Applicable.

[quote=jrmelo]O código que te passei roda sem qualquer tipo de problema.

Posta o erro.
[/quote]

Copiei o seu código em baixo de tudo o que eu fiz, ai quando eu vou em run as aparece “java aplication” quando eu clico ele dá uma mensagem de erro “selection does not contain a main type.”

Esse tipo de problema já foi discutido aqui no fórum, veja: http://www.guj.com.br/java/193589-erro-selection-does-not-contain-main-type/2

Meu “programinha” tá começando a ficar um pouco melhor… Mas ainda preciso fazer algumas coisas, se vocês puderem me ajudar:

public static int contarLinhas(File arquivo) {

	int cont = 0;
	cont++;
	cont++;
	cont++;

	// abrir o arquivo
	
	// loop enquanto arq existe

// while (in.has.NextLine()) {
// in.NextLine();
// cont++;
// }

	return cont;
}

}

tirei o “catch” porque a pessoa que está me dando umas dicas disse que ainda não preciso usar isso…

[quote=iisalynch]Meu “programinha” tá começando a ficar um pouco melhor… Mas ainda preciso fazer algumas coisas, se vocês puderem me ajudar:

public static int contarLinhas(File arquivo) {

	int cont = 0;
	cont++;
	cont++;
	cont++;

	// abrir o arquivo
	
	// loop enquanto arq existe

// while (in.has.NextLine()) {
// in.NextLine();
// cont++;
// }

	return cont;
}

}

tirei o “catch” porque a pessoa que está me dando umas dicas disse que ainda não preciso usar isso…[/quote]

A pessoa está lhe dando dicas erradas… Tentar executar qualquer operação de IO em Java sem usar o Try/Catch é um risco… Até onde me lembro, acho que nem consegues abrir um arquivo sem o tratamento de IOException adequado.

Não sei como está agora no Java 7, mas o código que lhe passaram aqui está correto do início ao fim. Provavelmente está acontecendo algum problema de execução com versão de JVM ou até mesmo Eclipse utilizado… Enfim…

Volte um pouco os testes e tente rodar um Hello World na sua IDE e nos diga o que aconteceu… Depois coloque a mensagem do Hello World dentro de um JOptionPane, enfim…

O código passado está correto, seu ambiente pode ter algum furo… Qual a versão da JVM vc está usando para os testes ?

Abs []

[quote]
A pessoa está lhe dando dicas erradas… Tentar executar qualquer operação de IO em Java sem usar o Try/Catch é um risco… Até onde me lembro, acho que nem consegues abrir um arquivo sem o tratamento de IOException adequado.

Não sei como está agora no Java 7, mas o código que lhe passaram aqui está correto do início ao fim. Provavelmente está acontecendo algum problema de execução com versão de JVM ou até mesmo Eclipse utilizado… Enfim…

Volte um pouco os testes e tente rodar um Hello World na sua IDE e nos diga o que aconteceu… Depois coloque a mensagem do Hello World dentro de um JOptionPane, enfim…

O código passado está correto, seu ambiente pode ter algum furo… Qual a versão da JVM vc está usando para os testes ?

Abs [][/quote]

Eu estou utilizando somente o try, e tenho certeza que a pessoa não está falando coisa errada.
Enfim, não estou dizendo que os codigos estão errados, eu sei que não estão.
Mas eu preciso de um codigo para abrir o arquivo e um loop enquanto o arquivo existir…

[quote=iisalynch][quote]
A pessoa está lhe dando dicas erradas… Tentar executar qualquer operação de IO em Java sem usar o Try/Catch é um risco… Até onde me lembro, acho que nem consegues abrir um arquivo sem o tratamento de IOException adequado.

Não sei como está agora no Java 7, mas o código que lhe passaram aqui está correto do início ao fim. Provavelmente está acontecendo algum problema de execução com versão de JVM ou até mesmo Eclipse utilizado… Enfim…

Volte um pouco os testes e tente rodar um Hello World na sua IDE e nos diga o que aconteceu… Depois coloque a mensagem do Hello World dentro de um JOptionPane, enfim…

O código passado está correto, seu ambiente pode ter algum furo… Qual a versão da JVM vc está usando para os testes ?

Abs [][/quote]

Sobre o hello world, ele funciona.

[quote=iisalynch]
Eu estou utilizando somente o try, e tenho certeza que a pessoa não está falando coisa errada.[/quote]
Cara, não sei mesmo como conseguiram essa mágica, pois o compilador (minha certeza é com Java < 7, não sei depois da versão 7) simplesmente não compila código sem o catch(). Aliás, sem cathch() pra que Try ???

Alguém sabe me dizer se isso é possível no Java 7 ???

[quote=iisalynch]
Mas eu preciso de um codigo para abrir o arquivo e um loop enquanto o arquivo existir…[/quote]

E isso você já tem, o Viny te deu o método já pronto que conta as linhas… Segue anexo pra verificares…


Bom, pelo o que ví aqui:http://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html

É possível…

Me pareceu que o Try funcionará igual à um IF só entrando no código se a condição for verdadeira… Confere ???

Bem legal a feature, que ainda nos permite omitir o finally {} quando precisarmos fechar recursos… Excelente…

Abs []

[quote=adriano_si]Bom, pelo o que ví aqui:http://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html

É possível…

Me pareceu que o Try funcionará igual à um IF só entrando no código se a condição for verdadeira… Confere ???

Bem legal a feature, que ainda nos permite omitir o finally {} quando precisarmos fechar recursos… Excelente…

Abs []

[/quote]

Confere!
Eu achei um código pra abrir o arquivo em outro site:

try {
File file = new File("/Users/crnobrega/Documents/JAVA/t.tailtarget.com.log-2012-07-07.a");
BufferedReader in;
String str;
while ((str = in.readLine()) != null) {
int cont = 0;
cont++;
cont++;
cont++;
in.close();

Vai funcionar ou está errado?

Porque não usar o que já foi postado aqui ???

Não testei o código, mas sim, o BufferedReader é feito pra leitura de IO, só que acho que tem que passar o FileReader pra ele se não me engano…

Qual o problema em usar o que foi postado e já está funcionando com uma classe Scanner lendo o arquivo e somando a variável count ???

Qualquer dúvida veja a doc: http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html#Scanner(java.io.File)

Abs[]

[quote=adriano_si]Porque não usar o que já foi postado aqui ???

Não testei o código, mas sim, o BufferedReader é feito pra leitura de IO, só que acho que tem que passar o FileReader pra ele se não me engano…

Qual o problema em usar o que foi postado e já está funcionando com uma classe Scanner lendo o arquivo e somando a variável count ???

Qualquer dúvida veja a doc: http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html#Scanner(java.io.File)

Abs[][/quote]

Não tem problema, na verdade eu procurei enquanto não tinha resposta…
Mas o código que foi postado quando eu tiro o catch ele fica com varios erros…
Mas enfim, vou colocar ele sim…

Só uma duvida adriano_si, esse código postado vai abrir o arquivo?

Cara, não vejo uma forma do Scanner ir para a próxima linha, se internamente ele não abrir o File.

Pelo que você pediu, funciona numa boa.

Consegues ler o conteúdo do arquivo, o método nextLine do Scanner já faz isso pra você, veja a leve mudança no código:

public int contarLinhas(File file) {  
	   Scanner in = null;  
	   int cont = 0;
	   try {  
	      in = new Scanner(file);    
	      while (in.hasNextLine()) {
	    	  System.out.println(in.nextLine());
	          cont++;  
	      }  
	   } catch (Exception e) {  
	     throw new RuntimeException("Problemas ao ler arquivo.", e);  
	   } finally {  
	      if (in != null) {
	    	  in.close();
	      }  
	   }  
	   return cont;  
	}

Escrever eu já não sei, acho que só usando um FileOutputStream se bem me lembro…

Abs []