zoukankan      html  css  js  c++  java
  • DataInputStream和DataOutputStream

    package stream.data;
    
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    /**
     * 操作基本数据类型的流(不包括引用类型)
     * 
     * DataInputStream DataOutputStream
     * 
     * @author 半步疯子
     * 
     * 可用于密码的输入输出:
     * 	因为是跳过操作系统,直接操作的是java中的基本数据类型
     * 	所以必须要知道读取的顺序,才能解析出正确的编码答案
     */
    public class DataStreamDemo {
    	// input 和 output 都为对应的inputStream和outputStream的包装类
    	public static void main(String[] args) throws IOException {
    		write();
    		read();
    		
    		writeUtf();
    	}
    	private static void writeUtf() {
    		DataOutputStream dos = null;
    		try {
    			dos = new DataOutputStream(new FileOutputStream("data.txt"));
    			dos.writeByte(32);
    			dos.writeInt(-97);
    			
    			// dos.writeUTF("abc");
    			// dos.writeUTF("中国");
    
    			dos.writeChars("abc");
    			dos.writeChars("中国");
    			
    			System.out.println("写文件操作完成");
    					
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		}catch (IOException e) {			
    			e.printStackTrace();
    		}finally {
    			if(dos != null) {
    				try {
    					dos.close();
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    			}
    		}
    		
    	}
    	// 创建数据输入流,完成将写入到dos.txt中的数据读出来
    	private static void read() throws IOException {
    		DataInputStream dis = new DataInputStream(new FileInputStream("dos.txt"));
    		
    		byte a = dis.readByte();
    		short b = dis.readShort();
    		int c = dis.readInt();
    		long d = dis.readLong();
    		float e = dis.readFloat();
    		double f = dis.readDouble();
    		char g = dis.readChar();
    		boolean h = dis.readBoolean();
    	
    		System.out.println(a);
    		System.out.println(b);
    		System.out.println(c);
    		System.out.println(d);
    		System.out.println(e);
    		System.out.println(f);
    		System.out.println(g);
    		System.out.println(h);
    		
    		
    		dis.close();
    	}
    
    	/*
    	 * 创建数据输出流对象,并完成写文件到dos.txt中的动作
    	 */
    	private static void write() throws IOException {
    		DataOutputStream dos = new DataOutputStream(new FileOutputStream("dos.txt"));
    		dos.writeByte(10);
    		dos.writeShort(100);
    		dos.writeInt(1000);
    		dos.writeLong(10000);
    		dos.writeFloat(12.34F);
    		dos.writeDouble(12.56);
    		dos.writeChar('a');
    		dos.writeBoolean(true);
    		
    		dos.close();
    	}
    	
    	
    }
    


  • 相关阅读:
    JQuery validate.js 在ajax提交form时如何触发
    Ajax回调函数返回的中文字符串乱码问题
    对HTML5校验 自定义验证信息
    Mybatis + Mysql 插入数据时中文乱码问题
    javac 导入第三方jar包
    如何在VISIO 2010/2013 中关闭Shape protection(图形保护)
    关于 XMLHttpRequest对象的onreadyStateChange方法
    Centos7通过Docker安装Sentry(哨兵)
    Entity framework 预热
    Xamarin.Android Binding篇
  • 原文地址:https://www.cnblogs.com/mzywucai/p/11053438.html
Copyright © 2011-2022 走看看