Tag: datainputstream

要从java中的DataInputStream读取的未知缓冲区大小

我有以下声明: DataInputStream is = new DataInputStream(process.getInputStream()); 我想打印此输入流的内容,但我不知道此流的大小。 我该如何阅读此流并打印出来?

DataInputStream / DataOutputStream类和InputStream / OutputStream类之间的区别

每当我在Java ME , Android或BlackBerry使用HttpConnection类时,我都使用DataInputStream / DataOutputStream类来通过远程服务器读取和写入数据。 但是还有其他类,如InputStream / OutputStream ,可以用于相同的目的。 我看到有关HttpConnection InputStream / OutputStream类的问题。 所以我想从专家那里了解到这两者之间的区别是什么?

无法读取使用DataOutputStream发送的号码

这是我的客户端代码 Random rand = new Random(); int n = rand.nextInt(50) + 1; DataInputStream dis = new DataInputStream(_socket.getInputStream()); DataOutputStream dos = new DataOutputStream(_socket.getOutputStream()); dos.writeInt(n); 这是服务器代码 try { DataInputStream dis = new DataInputStream(socket.getInputStream()); BufferedReader input = new BufferedReader(new InputStreamReader(dis)); int fromClient = input.read(); System.out.println(fromClient); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 但是我不会从inClient中找到任何东西,即使我像这样按钮 […]

使用TCP连接获取字节数组

我使用UDP发送/接收数据但我现在想切换到TCP以避免丢包。 我已经阅读了几篇关于TCP教程,并注意到TCP不使用像UDP这样的DatagramPacket,而是使用InputStream / OutputStream。 我们如何从DataInputStream获取byte [],这与此类似: byte[] receiveData = new byte[64000]; DatagramPacket receivePacket = new DatagramPacket(receiveData,receiveData.length); receiveData=receivePacket.getData();

Java,需要一个while循环来实现eof。 iewhile!eof,继续解析

我目前有一个有效的解析器。 它解析一次文件(不是我想要它做的),然后将解析后的数据输出到文件中。 我需要它继续解析并附加到相同的输出文件,直到输入文件的末尾。 看起来像这样。 try { // my code parsing the data and appending to eof of output. (works) } catch (EOFException eof){ } 除了while循环,一切都完成了。 它只在需要它时才解析一次以保持解析。 我正在寻找一个while循环函数来达到eof。 我也在使用DataInputStream。 是否有某种DataInputStream.hasNext函数? DataInputStream dis = new DataInputStream(new FileInputStream(inFile)); ie dis.read(); 。 //Need a while !eof while loop try { // my code parsing the data and appending to […]

在java中的DataInputStream中读取整数用户输入?

我试图从用户使用DataInputStream获取输入。 但是这会显示一些垃圾整数值而不是给定值 我的代码是: import java.io.*; public class Sequence { public static void main(String[] args) throws IOException { DataInputStream dis = new DataInputStream(System.in); String str=”Enter your Age :”; System.out.print(str); int i=dis.readInt(); System.out.println((int)i); } } 输出是 输入您的年龄:12 825363722 请解释一下。 为什么我得到这个垃圾值以及如何纠正错误?

来自Socket的DataInputStream的“可用”

我在客户端有这个代码: DataInputStream dis = new DataInputStream(socketChannel.socket().getInputStream()); while(dis.available()){ SomeOtherClass.method(dis); } 但是,尽管流中有可读数据,但available()仍然返回0 。 因此,在完成要读取的实际数据之后,将空数据传递给另一个要读取的类,这会导致损坏。 经过一番搜索; 我发现在使用套接字时, available()是不可靠的,我应该从流中读取前几个字节,以实际查看数据是否可用于解析。 但就我而言; 我必须将我从套接字获得的DataInputStream引用传递给其他一些我无法更改的类。 是否可以从DataInputStream读取几个字节而不破坏它或任何其他建议?

DataInputStream不推荐使用readLine()方法

我在java 6.使用DataInputStream in = new DataInputStream(System.in); 阅读用户输入。 不推荐使用readLine()时。 阅读用户价值的工作是什么? DataInputStream in = new DataInputStream(System.in); int num; try { num = Integer.parseInt(in.readLine()); //this works num = Integer.parseInt(in); //just in doesnt work. } catch(Exception e) { } 请在不推荐使用readLine()时解释。