为了账号安全,请及时绑定邮箱和手机立即绑定

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • B_C
    package com.imooc.io; // 文件传输基础——Java IO流...6-1 序列化基本操作 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; public class ObjectSeriaDemo1 { public static void main(String[] args)throws Exception { String file = "demo/obj.dat"; //1.对象的序列化 // ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file)); // Student stu = new Student("10001","张三",20); // oos.writeObject(stu); // oos.flush(); // oos.close(); ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); Student stu =(Student)ois.readObject(); System.out.println(stu); ois.close(); } }
    查看全部
  • B_C
    3、对象的序列化、反序列化 1)对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化。 2)序列化流(ObjectOutputStream)是过滤流 --> writeObject 反序列化流(ObjectInputStream) -->readObject 3) 序列化接口(Serializable) 对象必须实现序列化接口,才能进行序列化,否则将出现异常 这个接口,没有任何方法,只是一个标准 private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { s.defaultWriteObject();//把jvm能默认序列化的元素进行序列化操作 s.writeInt(stuage);//自己完成stuage的序列化 } private void readObject(java.io.ObjectInputStream s) throws java.io.IOException,ClassNotFoundException{ s.defaultReadObject();//把jvm能默认反序列化的元素进行序列化操作 this.stuage = s.readInt();//自己完成stuage的反序列化操作 }
    查看全部
  • B_C
    1.对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化 2.序列化流(OjectOutputStream)是过滤流----writeObject 反序列化流(ObjectInputStream)----readObject 3.序列化借口(Serializable) 对象必须实现序列化借口,才能进行序列化,否则将出现异常 这个借口,没有任何方法,只是一个标准 对象实体类的序列化与反序列化 public static void main(String[] args) throws IOException, Exception { String file = "F:/IO流/序列化/test.txt"; // 1.对象的序列化 /*ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream( file)); Student stu = new Student("10011", "张三 ", 20); oos.writeObject(stu); oos.flush(); oos.close();*/ // 2.反序列化 ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); Student stu2 = (Student) ois.readObject(); System.out.println(stu2); ois.close(); }
    查看全部
  • gbk:一个中文占用2个字节,英文占1个字节; utf-8:一个中文占用3个字节,英文占1个字节; utf-16be:中文和英文各占用2个字节。
    查看全部
    0 采集 收起 来源:文件的编码

    2017-03-21

  • 文件拷贝,字节批量读取//拷贝耗时最短:7ms
    查看全部
    0 采集 收起 来源:字节缓冲流

    2017-03-21

  • 单字节,不带缓冲进行文件拷贝
    查看全部
    0 采集 收起 来源:字节缓冲流

    2017-03-21

  • Java.IO.File类表示文件或目录,只用于表示文件或目录得信息,不能用于文件的访问。 常用的API: 1.创建File对象:File file=new File(String path);注意:File.seperater();获取系统分隔符,如:”\“. 2.boolean file.exists();是否存在. 3.file.mkdir();或者file.mkdirs();创建目录或多级目录。 4.file.isDirectory()或者file.isFile()判断是否是目录或者是否是文件。 5.file.delete();删除文件或目录。 6.file.createNewFile();创建新文件。 7.file.getName()获取文件名称或目录绝对路径。 8.file.getAbsolutePath()获取绝对路径。 9.file.getParent();获取父级绝对路径。 10.file.getSize();获取文件大小。 11.file.getFormat();获取文件格式名。
    查看全部
  • String s="慕课ABC"; byte[] bytes1=s.getBytes();//这是把字符串转换成字符数组,转换成的字节序列用的是项目默认的编码 for(byte b: bytes1) System.out.println(Integer.toHexString(b & 0xff)+" ");// & 0xff是为了把前面的24个0去掉只留下后八位 //toHexString这个函数是把字节(转换成了Int)以16进制的方式显示 byte[] bytes1=s.getBytes("gbk");//也可以转换成指定的编码 gbk编码: 中文占用两个字节,英文占用一个字节 utf-8编码:中文占用三个字节,英文占用一个字节 java是双字节编码,是utf-16be编码 utf-16be编码:中文占用两个字节,英文占用两个字节 当你的字节序列是某种编码时,这个时候想把字节序列变成字符串,也需要用这种编码方式,否则会出现乱码 String str1=new String(bytes4);//这时会使用项目默认的编码来转换,可能出现乱码 要使用字节序列的编码来进行转换 String str2=new String(bytes4,"utf-16be"); 文本文件就是字节序列,可以是任意编码的字节序列 如果我们在中文机器上直接创建文本文件,那么该文件只认识ANSI编码(例如直接在电脑中创建文本文件)
    查看全部
    0 采集 收起 来源:文件的编码

    2018-03-22

  • File file=new File(String path); 即:File file=new File("E:\\JAVA");
    查看全部
  • B_C
    字符流的过滤器: BufferedReader:readLine 一次读一行 BufferedWriter/PrintWriter: 一次写一行 public class BrAndBwOrPwDemo { public static void main(String[] args) throws IOException { // 对文件进行读写操作 BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream("e:\\javaio\\file.txt"))); // BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( // new FileOutputStream("e:\\javaio\\file3.txt"))); PrintWriter pw = new PrintWriter("e:\\javaio\\file4.txt"); String line; while ((line = br.readLine()) != null) { System.out.println(line);// 一次读一行,并不能识别换行 // bw.write(line); // //单独写出换行操作 // bw.newLine();//换行操作 // bw.flush(); pw.println(line); pw.flush(); } br.close(); // bw.close(); pw.close(); } }
    查看全部
  • BufferedReader--readLine方法一次读一行,但不能识别换行,只能用println来打印
    查看全部
  • long start=system.currentTimeMillis();可获取读取时间
    查看全部
    0 采集 收起 来源:字节缓冲流

    2017-03-18

  • raf.length是long型
    查看全部
  • 自动写最低的八位
    查看全部
  • randomaccessfile Java提供的对文件内容的访问,既可以
    查看全部

举报

0/150
提交
取消
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!