zoukankan      html  css  js  c++  java
  • I/O流任务

    一、完成以下链接[https://www.cnblogs.com/zhrb/p/6834084.html]中的任务3、4、5。

    3. 字符编码

    主要讲解中文乱码问题,FileReader、InputStreamReader。

    FileReader是InputStreamReader 类的子类,FileReader读取文件的过程中,FileReader继承了InputStreamReader,但并没有实现父类中带字符集參数的构造函数,所以FileReader仅仅能按系统默认的字符集来解码,然后在UTF-8 -> GBK-> UTF-8的过程中编码出现损失,造成结果不能还原最初的字符;InputStreamReader读的是字节数组byte [ ],而FileReader读的是字符数组char [ ];

    4. 字节流、二进制文件:DataInputStream, DataOutputStream、ObjectInputStream

    //DataInputStream(二进制输入流)
    public class DataInputStreamDemo { // 二进制流(读操作)
    
    	public static void main(String[] args) {
    
    		FileInputStream fis = null;
    
    		DataInputStream dis = null;
    
    		try {
    
    			fis = new FileInputStream("cba.bin");
    
    			dis = new DataInputStream(fis);
    
    			System.out.println(dis.readUTF()); // 读取字符串
    
    			System.out.println(dis.readInt()); // 读取整型
    
    			System.out.println(dis.readBoolean()); // 读取bool类型
    
    		} catch (FileNotFoundException e) {
    
    			e.printStackTrace();
    
    		} catch (IOException e) {
    
    			e.printStackTrace();
    
    		} finally {
    
    			try {
    
    				dis.close();
    
    				fis.close();
    
    			} catch (IOException e) {
    
    				e.printStackTrace();
    			}
    		}
    	}
    }
    
    
    
    //DataOutputStream二进制输出流
    public class DataOutputStreamDemo {
    	public static void main(String[] args) {
    		FileOutputStream fos = null;
    		DataOutputStream dos = null;
    		try {
    			fos = new FileOutputStream("cba.bin");// 创建字节流
    
    			dos = new DataOutputStream(fos);// 创建二进制流
    
    			dos.writeUTF("abc");// 将utf-8编码字符串写入到流中
    			dos.writeInt(100);
    			dos.writeBoolean(true);
    			System.out.println("写入成功!");
    
    		} catch (FileNotFoundException e) {
    
    			e.printStackTrace();
    		} catch (IOException e) {
    
    			e.printStackTrace();
    		} finally {
    
    			try {
    				dos.close();// 关闭流
    				fos.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    
    	}
    
    }
    
    //对象的输入流:  ObjectInputStream,把文件中的对象信息读取出来
     public static void readObject(File f) throws IOException, ClassNotFoundException
    {
    	 FileInputStream inputStream = new FileInputStream(f);//创建文件字节输出流对象
    	 ObjectInputStream objectInputStream = new ObjectInputStream(inputStream);
    	 User user = (User)objectInputStream.readObject();
    	 System.out.println(user);
     }
    

    5. 选做:RandomAccessFile

    • RandomAccessFile是用来访问那些保存数据记录的文件的,可以用seek( )方法来访问记录,并进行读写;

    二、缓冲流(请自己设计实验进行测试)。尝试使用junit进行测试。

    [http://www.maiziedu.com/wiki/java/buffered/]

    三、尝试结合DAO模式与本章所学内容,为购物车系统设计数据存储相关的StudentDao接口及其相关实现类。

    • 还未实现。
  • 相关阅读:
    《VR入门系列教程》之21---使用Unity开发GearVR应用
    《VR入门系列教程》之20---使用Oculus移动端SDK
    《VR入门系列教程》之19---GearVR开发初识
    《VR入门系列教程》之18---Oculus代码剖析
    《VR入门系列教程》之17---发布第一个应用
    《VR入门系列教程》之16---第一个OculusVR应用
    阿里巴巴开发手册提取信息
    国富论
    富通天下(W 笔试)
    富通天下(T 面试)
  • 原文地址:https://www.cnblogs.com/78tian/p/10056468.html
Copyright © 2011-2022 走看看