Java中的Java.io.DataInputStream类| 2

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)
  •   Java I/O总结

    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 I/O总结
  •   本文标题:Java中的Java.io.DataInputStream类| 2 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/4297.html
      微信返利机器人
      免费:淘宝,京东,拼多多优惠券
      腾讯,爱奇艺,优酷的VIP视频免费解析,免费看
      即刻扫描二维码,添加微信机器人!

    发表笔记

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