Ir para conteúdo

[Avançado] ~ Usando InputStream e OutputStream


Flavio Kicis

Posts Recomendados

Eae pessoal, beleza?

 

Antes de ontem eu me juntei aqui ao GB e fiz um tópico me apresentando e tal...

 

Comecemos...

Para que usar isso? Você me pergunta.

 

Você pode usar para inúmeras coisas que usam disparo de Bytes, desde BukkitAPI ao Java sem APIs.

 

Hoje vou ensinar como usar:

 

InputStream / OutputStream

 

Bom, não sei se vocês sabem, essas duas classes são abstratas, ou seja, outras classes irão estende-la.

Ex: DataOutputStream, DataInputStream, FileOutputStream, FileInputStream...

 

 

[DataInputStream]

 

Input, como o próprio nome já diz, serve para ler algo, algo que você recebeu, representado pelo método read, você pode usar para se comunicar com servidores locais usando Socket out Servidores externos usando Datagram, Response...

 

Ex: Socket, você usará para ler uma UTF, Integer, Byte e etc.

 

Socket socket = new Socket(78432);

DataInputStream stream = new DataInputStream(socket.getInputStream());

String mensagem = input.readUTF();

this.ler(mensagem);

stream.close();

 

[DataOutputStream]

 

Output, como o próprio nome já diz, serve para você escrever algo, representado

pelo método write, você pode usar para escrever dados e enviar para

o destinatário.

Ex: Socket, você usará para escrever uma UTF, Integer, Byte e etc.

 

Socket socket = new Socket(78432);

DataOutputStream stream = new DataOutputStream(socket.getOutputStream());

stream.writeUTF("mensagem: " + this.mensagem);

stream.close();

 

================================================================================

 

DataInputStream e DataOutputStream são só um exemplo, pois elas estendem a InputStream e OutputStream respectivamente, você pode usar este exemplo com FileInputStream/FileOutputStream e etc.

 

 

 

Observações importantes:

- Use uma porta que não esteja sendo usada, caso contrário, irá dar erro e sua Socket não será iniciada.

 

- O método readUTF() retornará null se você usar ele mais do que o writeUTF() usou...

Ex:

stream.writeUTF("Oi");

stream.writeUTF("Como vai");

stream.writeUTF("Tudo certo");

DEPOIS:

stream.readUTF();

stream.readUTF();

stream.readUTF();

stream.readUTF(); <---- Dará null aqui.

 

- Lembre-se de fechar a Stream depois que usou.

 

- Se for usar a Socket por Threads diferentes, use synchronized (this).

 

 

É isso pessoal, tutorial básico, até a próxima.

Editado por born95
Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...