Jump to content
Sign in to follow this  
TheMaister

[LØST] Lese et bestemt antall bytes fra stdin

Recommended Posts

Blir forvirret av Java sin måte å håndtere streams på. Har tenkt å gjøre noe som er veldig enkelt i C, men har lyst til å se hvordan det funker i Java. Har tenkt på kode som er noe som dette, men får det ikke til å kompilere i det hele tatt.

 

Skal lese et visst antall bytes fra stdin og sende dette som rå data over en tcp-socket. Måten jeg tenker på er sikkert veldig C, men det er ikke så farlig :D

 

EDIT: Virker som at det gikk til slutt :X Merkelig nok.

 

import java.io.*;
import java.net.*;

public class streamTest 
{
  public static void main(String[] args) throws IOException
  {
     Socket s = new Socket(args[0], 12345);
     Socket ctl = new Socket(args[0], 12345);
     DataInputStream input = new DataInputStream(s.getInputStream());
     DataInputStream input_ctl = new DataInputStream(ctl.getInputStream());
     DataOutputStream output = new DataOutputStream(s.getOutputStream());
     DataOutputStream output_ctl = new DataOutputStream(ctl.getOutputStream());

     byte[] buffer = new byte[64];
     int rc;
     while ( true )
     {
        rc = System.in.read(buffer, 0, 64);
        if ( rc == 0 )
           break;
        output.write(buffer);
     }

     input.close();
     input_ctl.close();
     output.close();
     output_ctl.close();


  }
}

Edited by TheMaister

Share this post


Link to post

Kan være greit at du skriver hva du gjorde feil slik at andre i senere tid også kan lære :)

 

Blir litt vanskelig når jeg ikke vet hva jeg gjorde feil egentlig :\ Plutselig bare kompilerte det fikk jeg en følelse av.

Vel, jeg tror jeg måtte bytte til DataOutputStream, siden den tydeligvis hadde write(byte[], int, int) metoden.

 

Noen som vet om denne type kode vil kunne kjøre på Android?

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...