DataOutputStream&DataInputStream是对输出输入流的扩展,可以直接读写int double等数据类型 下面是今天的练习,细节都写到注释里面了: 1 package Zhang ; 2 3 import java.io.DataInputStream; 4 5 import java.io.DataOutputStream; 6 7 import java.io.File file.createNewFile(); 24 25 } 26 27 //DataOutputStream&DataInputStream DataOutputStream dos=new DataOutputStream(new FileOutputStream(file)); 32 33 DataInputStream dis=new DataInputStream(new FileInputStream(file)); 34 35 36 37 int testInt
前言 本文主要学习DataInputStream、DataOutputStream、PrintStream类。通过IO流存储对象,有时候我们并不需要存储整个对象的信息,只要存储对象的成员数据。 一、DataInputStream类 1.DataInputStream类是数据输入流它和机器无关的操作数据流,读取Java原始的数据。读取一个数值就不必要知道这个数值的多少字节的。 2.DataInputStream类构造方法: public DataInputStream(InputStream in):创建指定的数据输入流读取DataInputStream。 in参数表示指定的输入流 3.DataInputStream类方法如下图所示: 《该图片引用菜鸟教程》 4.DataInputStream类方法的例子实现: import java.io.*; public DataInputStream类是数据输入流它和机器无关的操作数据流,读取Java原始的数据。DataInputStream介绍它的构造方法和方法,DataOutputStream类方法的例子实现。
DataInputStream 数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。 demo如下 package com.yudian.io.stream; import java.io.DataInputStream; import java.io.DataOutputStream t.write(); t.read(); } public void write() throws Exception { String path = "C:\\project\\datainputstream.txt void read() throws Exception { InputStream instream = new FileInputStream(new File("C:\\project\\datainputstream.txt ")); DataInputStream dis = new DataInputStream(instream); double d = dis.readDouble(); boolean
功能简介 DataInputStream和DataOutputStream 继承了各自的FilterInputStream以及FilterOutputStream 使用装饰器模式对InputStream DataInput 接口用于从二进制流中读取字节,并根据所有 Java 基本类型数据进行重构 DataOutput 接口用于将数据从任意 Java 基本类型转换为一系列字节,并将这些字节写入二进制流 DataInputStream DataOutputStream 通过实现DataInput 和DataOut接口并且借助于装饰器模式,对InputStream和OutputStream的read方法增强出来多个版本可以读取基本数据类型 DataInputStream 其余来自DataOutput的方法,都是借助于装饰器模式对于write方法的增强比如 一定要理解装饰器模式是你还有你在使用你的能力的时候,顺便在增强一下,所以内部自然会需要借助于原来的方法 总结: DataInputStream
2.4 DataInputStream的用法 马 克-to-win:DataInputStream顾名思义:就是专门用来读各种各样的数据的,比如(int,char,long等),一定要注意 DataOutputStream 与DataInputStream配合使用,而且二者读写的顺序要一样,可以参照下面的例子。 "); dos.close(); FileInputStream fis = new FileInputStream("c:/data.txt"); DataInputStream dis = new DataInputStream(fis); /*1) a data output stream to write data that can late be read
DataInputStream.readUTF能读取的数据不是一般的数据,实际使用的也不多,一般会配合DataOutStream.writeUTF配合使用,一般的字符串不要使用readUTF读取,否则就会报 EOFException的异常,至于为什么会出现这个问题,看下DataInputStream.readUTF以及DataOutStream.writeUTF的源码来解释下: public final 能读取的字符串前面有两个字节是真正要读取的字符串的长度 byte[] bytearr = null; char[] chararr = null; if (in instanceof DataInputStream ) { DataInputStream dis = (DataInputStream)in; if (dis.bytearr.length < utflen
1、实例化 DataInputStream(InputStream in) 参数是一个字节输入流 DataOutputStream(OutputStream out) 参数是一个字节输出流 演示 DataInputStream dis = new DataInputStream(new FileInputStream("D:/test/girl.jpg")); DataOutputStream dos = new DataOutputStream (new FileOutputStream("D:/test/girl2.jpg")); 2、举例 复制图片 try( DataInputStream dis = new DataInputStream
数据流DataInputStream和DataOutputStream介绍数据流:用来操作基本数据类型和字符串的DataInputStream:将文件中存储的基本数据类型和字符串写入内存的变量中DataOutputStream Test02 { //这是一个main方法,是程序的入口: public static void main(String[] args) throws IOException { //DataInputStream :将文件中存储的基本数据类型和字符串 写入 内存的变量中 DataInputStream dis = new DataInputStream(new FileInputStream(new
FileInputStream fileInputStream = new FileInputStream("example.txt"); DataInputStream dataInputStream = new DataInputStream(fileInputStream); int number = dataInputStream.readInt(); // 如果文件中没有足够的数据,将抛出EOFException = new DataInputStream(fileInputStream); while (true) { int number = dataInputStream.readInt dataInputStream = new DataInputStream(bufferedInputStream); try { while (true) { int number dataInputStream = new DataInputStream(bufferedInputStream)) { while (true) {
dataInputStream = new DataInputStream(socket.getInputStream()); int id = dataInputStream.readInt DataInputStream dataInputStream = new DataInputStream(socket.getInputStream()); id = dataInputStream.readInt DataInputStream dataInputStream = new DataInputStream(socket.getInputStream()); int id = dataInputStream.readInt(); String name = dataInputStream.readUTF(); DataInputStream dataInputStream = new DataInputStream(socket.getInputStream()); int id
2.实例一【Server->Client(1:1)】 1 package socket; 2 3 import java.io.DataInputStream; 4 import java.io.DataOutputStream System.out.println("connected with address:"+address.getHostAddress()); 23 DataInputStream input = new DataInputStream(socket.getInputStream()); 24 DataOutputStream output = new DataOutputStream input = new DataInputStream(socket.getInputStream()); 16 DataOutputStream output = new DataOutputStream input = new DataInputStream( 48 socket.getInputStream()); 49
DataInputStream和DataOutputStream分别继承自InputStream和OutputStream,它属于处理流,需要分别”套接“在InputStream和OutputStream 类型的节点流上 DataInputStream和DataOutputStream提供了可以存取与机器无关的Java原始类型数据的方法 DataInputStream和DataOutputStream的构造方法为 : DataInputStream(InputStream in) DataOutputStream(OutputStream out) import java.io.*; public class ByteArrayInputStream(baos.toByteArray()); System.out.println(bais.available());//bais中有多少字节 DataInputStream dis = new DataInputStream(bais); System.out.println(dis.readDouble(
解析过程 读取类文件 private DataInputStream dataInputStream; public ClassReadCursor(String filePath) { e.printStackTrace(); } } 在上面的操作中,我们把类的文件成功的转换成流文件DataInputStream,我们是类文件是按照顺序读取的,所以可以定义的游标的对象 (); } public int readInt() throws IOException { return this.dataInputStream.readInt (); } public long readLong() throws IOException { return this.dataInputStream.readLong (); } public String readUTF() throws IOException { return this.dataInputStream.readUTF
//包括为datainputstream dataInputStream = new DataInputStream(socket.getInputStream()); //读取数据 String in_data = dataInputStream.readUTF(); // =null){ dataOutputStream.close(); } if(dataInputStream =null){ dataInputStream.close(); } } } } +"郑州"); //接收服务端发送的数据 dataInputStream = new DataInputStream
File file=new File("D:\\tmp\\forIO.txt"); FileInputStream fileInputStream=new FileInputStream(file); DataInputStream dataInputStream= new DataInputStream(fileInputStream); BufferedInputStream bufferedInputStream = new BufferedInputStream(dataInputStream); int n=0; byte[] b=new byte[2]; =int i=0; while (n! DataInputStream 中 public final int read(byte b[]) throws IOException { return in.read(b, 0,
TARGET_PATH = "D:/file/files/ps/1977.png"; public static void main(String[] args) { InputStream dataInputStream = null; OutputStream output = null; try { dataInputStream = new FileInputStream ); byte[] buffer = new byte[1024]; int length; while ((length = dataInputStream.read e.printStackTrace(); } }); Optional.ofNullable(dataInputStream /1977.png"; public static void main(String[] args) { try ( InputStream dataInputStream
public static void read(String destPath) throws IOException { File dest = new File(destPath); DataInputStream dis = new DataInputStream(new BufferedInputStream(new FileInputStream(dest))); int i = dis.readInt throws IOException { read(write()); } public static void read(byte src[]) throws IOException { DataInputStream dis = new DataInputStream(new BufferedInputStream(new ByteArrayInputStream(src))); int i = dis.readInt
backlog) ServerSocket(int port,int backlog,InetAddress binAddr) 服务器与客户端通信 package two; import java.io.DataInputStream dis = new DataInputStream(is); String str = dis.readLine(); System.out.println(str); ee); } catch(Exception e) { System.out.println(e); } } } package two; import java.io.DataInputStream dis = new DataInputStream(is); String str = dis.readLine(); System.out.println(str); dis = new DataInputStream(is); String str = dis.readLine(); System.out.println(str); } catch
读取二进制文件中的 int 数据 DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream(filename))); try in = new DataInputStream(new BufferedInputStream(new FileInputStream(filename))); try { char c in = new DataInputStream(new BufferedInputStream(new FileInputStream(filename))); try { boolean 读取二进制文件中的 long 数据 DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream
读取二进制文件中的 int 数据 DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream(filename))); try in = new DataInputStream(new BufferedInputStream(new FileInputStream(filename))); try { char c in = new DataInputStream(new BufferedInputStream(new FileInputStream(filename))); try { boolean 读取二进制文件中的 long 数据 DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream