Java中的Java.io.DataInputStream类| 2

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)

Java中的Java.io.DataInputStream类| 2

更多方法:

  • byte readByte():读取并返回一个输入字节。
    语法: public final byte readByte()
                        throws IOException
    返回:该输入流的下一个字节,作为有符号的8位字节。
    抛出:
    EOFException
    IOException
    
  • float readFloat():读取四个输入字节并返回一个浮点值。
    语法: public final float readFloat()
                          throws IOException
    返回:此输入流的后四个字节,解释为一个浮点数。
    抛出:
     EOFException
    IOException
  • void readFully(byte [] b):从输入流中读取一些字节并将它们存储到缓冲区数组b中。
    语法: public final void readFully(byte [] b)
                         throws IOException
    参数:
     b  - 读取数据的缓冲区。
    抛出:
     EOFException
    IOException
  • void readFully(byte [] b,int off,int len):从输入流中读取len个字节。
    语法: public final void readFully(byte [] b,
                 int off,
                 int len)
                         throws IOException
    参数:
     b  - 读取数据的缓冲区。
    off - 数据的起始偏移量。
    len  - 要读取的字节数。
    抛出:
     EOFException
    IOException
  • String readLine():从输入流中读取下一行文本。
    语法:
    返回:来自此输入流的下一行文本。
    抛出:
     IOException
     抛弃此方法未正确地将字节转换为字符。
    
  • long readLong():读取八个输入字节并返回一个长整型值。
    语法: public final long readLong()
                        throws IOException
    返回:
    此输入流的后八个字节,解释为long。
    抛出:
    EOFException类
    IOException异常
  • short readShort():读取两个输入字节并返回一个短值。
    语法: public final short readShort()
                          throws IOException
    返回:
    该输入流的下两个字节,解释为一个有符号的16位数字。
    抛出:
    EOFException类
    IOException异常
  • String readUTF():读取使用修改的UTF-8格式编码的字符串。
    语法: public final String readUTF()
                         throws IOException
    返回:
    一个Unicode字符串。
    抛出:
     EOFException
    IOException异常
    UTFDataFormatException 
    
  • int skipBytes(int n):尝试跳过输入流中的n个字节的数据,放弃跳过的字节。
    语法: public final int skipBytes(int n)
                        throws IOException
    参数:
     n  - 要跳过的字节数。
    返回:
    跳过的实际字节数。
    抛出:
    IOException异常

例子:

//Java program to demonstrate DataInputStream
// This program uses try-with-resources. It requires JDK 7 or later.
import java.io.*;
import java.lang.reflect.Array;
import java.util.Arrays;

class DataInputStreamDemo
{
	public static void main(String args[]) throws IOException
	{
		//writing the data.
		try ( DataOutputStream dout =
					new DataOutputStream(new FileOutputStream("file.dat")) )
		{
			dout.writeBytes("1");
			dout.writeFloat(4.4545f);
			dout.writeUTF("geeksforgeeks");
			dout.writeChars("GeeksforGeeks\n");
			dout.writeBytes("ABCDEFG");

		}

		catch(FileNotFoundException ex)
		{
			System.out.println("Cannot Open the Output File");
			return;
		}

		// reading the data back.
		try ( DataInputStream din =
					new DataInputStream(new FileInputStream("file.dat")) )
		{

			//illustrating readByte() method
			byte t=din.readByte();
			
			//illustrating readFloat() method
			float u=din.readFloat();
			
			//illustrating readUTF() method
			String temp=din.readUTF();
			
			//illustrating readLine() method
			String temp1=din.readLine();

			System.out.println("Values: " + t +" "+" "+u+" "+temp+" "+temp1 );

			//illustrating skipBytes() method
			//skipping "AB"
			din.skipBytes(2);

			//illustrating readFully() method
		    byte[] b=new byte[4];
			din.readFully(b,0,4);
			System.out.println(Arrays.toString(b));

		}
		catch(FileNotFoundException e)
		{
			System.out.println("Cannot Open the Input File");
			return;
		}
	}
}


输出:

Values: 49  4.4545 geeksforgeeks  GeeksforGeeks 
[67, 68, 69, 70]
  •   本文标题:Java中的Java.io.DataInputStream类| 2 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/4297.html
    Java的相关文章

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注

    更多阅读
    标签云