Trampo de Java

15 respostas
B

Pessoal estou apanhando para java tive umas 10 aulas e nem aprendi muita coisa…

tenho um trabalho para fazer alguem pode me ajudar?

eu uso o eclipse…

e preciso fazer o seguinte…

  1. Ler um arquivo texto com linhas (este arquivo pode ser gerado no notepad)
  2. Carregar as linhas lidas no item anterior em uma Lista
  3. Converter o texto para caixa alta (maiúsculas)
  4. Imprimir na tela do console as linha convertidas para caixa alta
  5. Imprimir o número total de linhas

Alguem poderia me ajudar por favor???

15 Respostas

A

Oi belchior123, ninguém no fórum vai responder questões de faculdade, leia, cria seu código, apanhe um pouco e tire suas dúvidas aqui que ajudaremos com prazer.

Por favor não faça mais esse tipo de pergunta, o GUJ é um lugar para aprendizado e quitação de dúvidas por meio dos próprios usuários.

Tome como fonte as apostilas da Caelum e a literatura que ela indica, que você alcançará o que que precisa

T+

B

andre.froes:
Oi belchior123, ninguém no fórum vai responder questões de faculdade, leia, cria seu código, apanhe um pouco e tire suas dúvidas aqui que ajudaremos com prazer.

Por favor não faça mais esse tipo de pergunta, o GUJ é um lugar para aprendizado e quitação de dúvidas por meio dos próprios usuários.

Tome como fonte as apostilas da Caelum e a literatura que ela indica, que você alcançará o que que precisa

T+

Relaxa não eh trampo de facul não…

eh que to no trampo e tenho so ate as 19 horas para fazer isso…

pensei em pegar um atalho mas de boa eu chegando em casa eu faço e oq eu não conseguir jogo aqui no forum obrigado e ate mais…

lina

Oi,

1- Para ler um arquivo, procure por: FileInputStream e FileOutputStream

2- Utilize ArrayList para isso. (array.add( <linhas_arquivo> )

3- Existe uma função para String chamado toUpperCase

4- Percorrer o array lista e mostrar utilizando qualquer forma para isso(Sysout, Scanner etc)

5- Pode ser o tamanho de seu Array ?!

Tchauzin!

edmarr

Creio o pessoal so ira lhe ajudar se vc ja tiver tentando resolver , ou seja vc ta com duvida somente de como fazer para usar alguma classe especifica ou collection e talz , ninguém
aqui vai lhe dar o exercício de mao beijada , se quizer um exercício pronto , vc esta no lugar errado , pague uma cerveja para seu amigo sabe sabe que ele faz isto numa boa pra vc .

Ou seja , tente andar sozinho , caso tenha duvida e nao sair do lugar poste seu codigo que a galera lhe mostrara como andar .

kenneth

Cara,

So como sugestao, voce pode utilizar a classe File,
e enquanto le o conteudo do arquivo, preenche a lista…
Pro caso da maiuscula, utiliza o metodo toUpperCase();

E, um pequeno contador pro nro de linhas…

Boa sorte ai!

Abraco!

Marky.Vasconcelos

lina:
Oi,

1- Para ler um arquivo, procure por: FileInputStream e FileOutputStream

2- Utilize ArrayList para isso. (array.add( <linhas_arquivo> )

3- Existe uma função para String chamado toUpperCase

4- Percorrer o array lista e mostrar utilizando qualquer forma para isso(Sysout, Scanner etc)

5- Pode ser o tamanho de seu Array ?!

Tchauzin!

Só corrigindo, o Scanner serve para ler e não para mostrar que nem na 4.
E para 1 é mais fácil utilizar o Scanner.

Pra te ajudar…
O seguinte código imprime todas as linhas do arquivo.

File arq =new File("C:/arq.txt");
Scanner sc = new Scanner(arq);
while(sc.hasNext())
System.out.println(sc.nextLine());//nextLine retorna String
sc.close();

O seguinte código imprime tudo em maiusculo.

String frase = "E todos que foram vistos dançando a musica foram chamados de loucos.";
frase = frase.toUpperCase();//toUpperCase retorna uma nova String com todas letras em maiusculas e não altera a instancia em que foi chamada.. por isso é necessario atribuir a propria frase para receber esse valor.
System.out.println(frase);

Good luck

B

edmarr:
Creio o pessoal so ira lhe ajudar se vc ja tiver tentando resolver , ou seja vc ta com duvida somente de como fazer para usar alguma classe especifica ou collection e talz , ninguém
aqui vai lhe dar o exercício de mao beijada , se quizer um exercício pronto , vc esta no lugar errado , pague uma cerveja para seu amigo sabe sabe que ele faz isto numa boa pra vc .

Ou seja , tente andar sozinho , caso tenha duvida e nao sair do lugar poste seu codigo que a galera lhe mostrara como andar .

Realmente essa parte eu intendi…

eh que não sou nem um pouco fã de programação curto mais redes…

mas so obrigado a passar por tudo no meu curso inttão vo apanhando aqui…

eu ate tenho o começo do codigo e uma noção legal…

to no trampo ai não tem muito oque fazer… mas com todas as dicas acima…

eu acho que consigo…

mais a tarde eu posto oq eu fiz e peço uma ajudinha para upgrade…

Abraçossss e agradecido a todos…

B

Poxa esse forum eh de mais…

vou avisar o pessoal do meu curso que esta apanhando um pouco cumigo…

em menos de uma hora ja tem varias dicas otimas…

agradeço ao andre.froes, a lina, ao edmarr, ao kenneth, ao Mark_Ameba

por favor continuem com as dicas e mais tarde compartilho o resultado com vocês, muito oobrigado a todos que visitaram e responderam…

lina

Mark_Ameba:
Oi,

1- Para ler um arquivo, procure por: FileInputStream e FileOutputStream

2- Utilize ArrayList para isso. (array.add( <linhas_arquivo> )

3- Existe uma função para String chamado toUpperCase

4- Percorrer o array lista e mostrar utilizando qualquer forma para isso(Sysout, Scanner etc)

5- Pode ser o tamanho de seu Array ?!

Tchauzin!

Só corrigindo, o Scanner serve para ler e não para mostrar que nem na 4.
E para 1 é mais fácil utilizar o Scanner.

Oi,

Ainda prefiro utilizar as classes do File para isso! A ideia do Scanner era exatamente isso, armazenar em String e mostrar com Sysout. lalala

Para de pagar no meu pé! :twisted:

;* Mark_Ameba

Tchauzin!

B

lina:
Mark_Ameba:
Oi,

1- Para ler um arquivo, procure por: FileInputStream e FileOutputStream

2- Utilize ArrayList para isso. (array.add( <linhas_arquivo> )

3- Existe uma função para String chamado toUpperCase

4- Percorrer o array lista e mostrar utilizando qualquer forma para isso(Sysout, Scanner etc)

5- Pode ser o tamanho de seu Array ?!

Tchauzin!

Só corrigindo, o Scanner serve para ler e não para mostrar que nem na 4.
E para 1 é mais fácil utilizar o Scanner.

Oi,

Ainda prefiro utilizar as classes do File para isso! A ideia do Scanner era exatamente isso, armazenar em String e mostrar com Sysout. lalala

Para de pagar no meu pé! :twisted:

;* Mark_Ameba

Tchauzin!

Sem puxa saquismo de minha parte… e para evitar brigas…

meu professor encino a fazer com File e string ele ate fez uma piadinha idiota…

mas gostei de sabe que existe mais de um metodo para fazer meu trampo…se eu tiver tempo tento fazer dos dois geitos e ver qual fica mais interresante.

Marky.Vasconcelos

lina:
Mark_Ameba:
Oi,

1- Para ler um arquivo, procure por: FileInputStream e FileOutputStream

2- Utilize ArrayList para isso. (array.add( <linhas_arquivo> )

3- Existe uma função para String chamado toUpperCase

4- Percorrer o array lista e mostrar utilizando qualquer forma para isso(Sysout, Scanner etc)

5- Pode ser o tamanho de seu Array ?!

Tchauzin!

Só corrigindo, o Scanner serve para ler e não para mostrar que nem na 4.
E para 1 é mais fácil utilizar o Scanner.

Oi,

Ainda prefiro utilizar as classes do File para isso! A ideia do Scanner era exatamente isso, armazenar em String e mostrar com Sysout. lalala

Para de pagar no meu pé! :twisted:

;* Mark_Ameba

Tchauzin!

Ahh ta… voce esta certa mas não significa que eu esteja errado ^^

File f = new File("C:/arq.txt");
FileInputStream stream = new FileInputStream(f);
BufferedInputStream bufferStream  = new BufferedInputStream(stream);
Scanner sc = new Scanner(bufferStream);

Graças a OO ambos estamos certos XD

É que prefiro trabalhar com Scanner/PrintWriter com Strings e File(In/Out)putStream quando trabalhoa nivel de bytes e bits.

Não vou mais te encher o saco… * tanto * ^^

;* lina

Marky.Vasconcelos

Explicando melhor

File arq =new File("C:/arq.txt");//Voce tem uma instancia de arquivo que realmente representa um arquivo real no computador
Scanner sc = new Scanner(arq);
while(sc.hasNext())//sc.hasNext retorna true se tiver mais conteudo para ser lido.
System.out.println(sc.nextLine());//nextLine retorna a proxima linha
sc.close();

Enquanto não chegar ao fim do arquivo ele continua dando as voltas e imprimindo cada linha.

lina

Oi,

Exatamente! graças ao OO =)

Também tem uma forma (não sei se é melhor para quem está começando ou pior...)

Criar 3 métodos para manipulação do arquivo:

// Declarando variaveis globais.
String is_buffer = "";
byte[] ih_buffer;
String[] is_linhas;	
ListIterator<String> io_linhas;
// Método para abrir o arquivo txt gerado pelo notepad ou outro aplicativo.

public void AbrirArquivo()
{
     try
     {
          // Objeto para manuseio do arquivo ...
          FileInputStream lo_is_file = new FileInputStream("teste.txt");
			
          // aloca o espaço para leitura ...
	  ih_buffer = new byte[lo_is_file.available()-0];
			
          // "Pula" dentro do arquivo até a posição desejada
          lo_is_file.skip(0);
	        	
          // Read file ...
          lo_is_file.read(ih_buffer, 0, ih_buffer.length);
	        	
          // Fecha o arquivo.
          lo_is_file.close();
     }
     catch (FileNotFoundException e) {
          e.printStackTrace();
     }
     catch (IOException e)
     {
          e.printStackTrace();
     }
}
// Outro para.. digamos... ler o arquivo já armazenando em um Lis
	
public void LerArquivo()
{
     is_linhas = is_buffer.split("\r\n");
     io_linhas = Arrays.asList(is_linhas).listIterator();
}
// Outro para receber a linha atual do arquivo.
	
public String LinhaAtual()
{
     return (io_linhas.hasNext() ? io_linhas.next() : "");
}

Depois a sequencial utilizada poderá ser feita:

// Abre o arquivo ...
AbrirArquivo();
		
// Armazena em um buffer as informações ...
is_buffer = new String(ih_buffer);

// Lê o arquivo...
LerArquivo();

// Utiliza-se essa forma para pegar a linha atual do arquivo ... 
is_linha_atual = LinhaAtual();

Ou então.. para ficar em looping percorrendo todas as linhas do arquivo, poderá ser feito:

while (is_linha_atual = LinhaAtual()).trim().length() > 0) {....}

Sei lá!!! quem sabe trabalhar assim não é divertido?!

Tchauzin!

tnaires

Ué… É curso ou emprego? :roll:

Uma pequena correção. Se seu arquivo é texto, use FileReader. Readers são adequados para ler fluxo de caracteres, enquanto InputStreams são adequados para fluxo de bytes. Decore então seu FileReader com um BufferedReader para que o método readLine() esteja disponível.

BufferedReader in = new BufferedReader(new FileReader("texto.txt"));

EDIT - Em tempo: não esqueçam de liberar seus recursos! Sempre chamem o método close() independente de ocorrer algum erro ou não.

B

Obrigado a todos Problema resolvido

Criado 29 de setembro de 2009
Ultima resposta 30 de set. de 2009
Respostas 15
Participantes 7