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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • DataOutputStream/DataInputStream 对流功能进行扩展,可以更加方便地读取int,long,字符等类型数据 new DataOutputStream(new FileOutputStream(filename)); writeInt()/writeDouble()/writeUTF() BufferedInputStream & BufferedOutputStream 这两个流类为IO提供了带缓冲区的操作,一般打开文件进行写入或读取操作时,都会加上缓冲,这种流模式提高了IO的性能 从应用程序中把输入放入文件,相当于将一缸水倒入到另一个缸中; FileOutputStream-->write()方法相当于一滴一滴地把水“转移”过去 DataOutputStream-->writeXXX()方法会方便一些,相当于一瓢一瓢把水转移过去 BufferedOutputStream-->write()方法更方便,相当于一瓢一瓢先存入桶中,再从桶中倒入到另一个缸中。 bos.flush()是刷新缓冲区 不刷新写不进去 批量字节读取最快(数组),缓冲读取其次,单字节读取最慢!
    查看全部
    0 采集 收起 来源:字节缓冲流

    2018-03-22

  • FileOutputStream实现了向文件中写出byte数据的方法 文件写出流: FileOutputStream fos = new FileOutputStream(file,true) 文件不存在,则创建,否则在后面追加内容 FileOutputStream fos = new FileOutputStream(file) 文件不存在,则创建,否则,删除后再创建
    查看全部
  • 1、byte 类型 8 位,int 类型 32 位,为了避免数据转换错误,通过 & 0xff 将高 24 位清零 2、long time = System.currentTimeMillis() 当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量) 3、is.read() 单字节适合读取 小 文件 is.read(byte[] bytes,int star,int size) 字节数组适合读取 大 文件 最常用 : 批量读取大文件效率高(但是定义的byte数组太大可能浪费内存).
    查看全部
  • IO流(输入流、输出流) 字节流、字符流 1.字节流 1)InputStream、OutputStream InputStream 抽象了应用程序读取数据的方式 OutputStream 抽象了应用程序写出数据的方式 2)EOF = End 读到-1就读到结尾 3)输入流基本方法 in 代表输入流对象 int b = in.read();读取一个字节无符号填充到int低八位.-1是EOF in.read(byte[] buf) 读取数据填充到字节数组buf in.read(byte[],int start,int size) 从 start位置 开始 读取 size个字节的数据 填充到 字节数组buf 4)输出流基本方法 out.write(int b) 写出一个byte到流,b的低八位 out.write(byte[] buf) 将buf字节数组都写入到流 out.write(byte[] buf,int start,int size) 5)FileInputStream --->具体实现了在文件上读取数据
    查看全部
  • RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件。 RandomAccessFile 支持随机访问文件,可以访问文件的任意位置 (1)java文件模型 在硬盘上的文件是byte byte byte存储的,是数据的集合 (2)打开文件 有两种模式“rw”(读写) “r”(只读) RandomAccessFile raf = new RandomAccessFile(file,"rw") 文件指针,打开文件时指针在开头 pointer=0; (3)写方法 raf.write(int)--->只写一个字节(后8位),同时指针指向下一个位置,准备再次写入 (4)读方法 int b=raf.read()-->读一个字节 (5)文件读写完成以后一定要关闭(Oracle官方说明)
    查看全部
  • 注意这里
    查看全部
  • RandomAccessFile
    查看全部
  • IllegalArgumentException此异常表明向方法传递了一个不合法或不正确的参数。 file.list() 返回当前目录下的子目录和文件名称的字符串数组(不包含路径,直接子的名称,不包含子目录下的目录和文件)如果要遍历子目录下的内容就需要构造成File对象做递归操作。 file.listFiles() 返回当前目录下的所有子目录和文件的文件数组名称(直接子目录(文件)的抽象)
    查看全部
    0 采集 收起 来源:遍历目录

    2015-04-14

  • File 表示文件或者目录 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();获取文件格式名。
    查看全部
  • 1.GBK编码:中文占用2个字节,英文占用1个字节 2.UTF-8编码:中文占用3个字节,英文占用1个字节 3.Java是双字节编码UTF-16BE:中文占用2个字节,英文占用2个字节 注意:当字节序列是用某种编码时,这个时候想把字节序列变成字符串,也需要使用相同编码方式,否则会出现乱码。 文本文件=字节序列,可以是任意编码的字节序列; 注意:在中文机器上直接创建文本文件,该文本文件只认识ANSI编码 String构造函数可以传俩参数 一个是bytes类型的数组 后面的是编码格式
    查看全部
    0 采集 收起 来源:文件的编码

    2015-04-14

  • transient 关键字:使该元素不被Jvm默认序列化,可以自行完成序列化操作 1)到ArrayList中找到 writeObject()方法,在本类中进行重写, private void writeObject(java.io.ObjectOutputStream s)throws IOException{ s.defaultWriteObject();//把jvm能默认序列化的元素进行序列化操作 s.writeInt(stuage);//自己完成stuage的序列化 2)反序列化: private void readObject(java.io.ObjectInputStream s) throws Exception{ s.defaultReadObject();//把jvm能默认反序列化的元素进行反序列化操作 this.stuage = s.readInt();//自己完成stuage的反序列化操作 }
    查看全部
  • 3.对象的序列化(将 对象 进行保存),反序列化(读取已保存的对象序列) 1)对象序列化,解释将Object转化成byte序列,反之叫对象的反序列化 2)序列化流(ObjectOutputStream),是过滤流------>writeObject() 反序列化流(ObjectInputStream)----> readObject() 3)序列化接口 (Serializable) 对象必须实现序列化接口,才能进行序列化,否则将出现异常 这个接口,没有方法,只是一个规范
    查看全部
  • 单字节读取最慢 23701ms 缓冲区读取其次 14602ms DataOutputStream 最快 7ms
    查看全部
    0 采集 收起 来源:字节缓冲流

    2015-04-12

  • 测试时间的方法 start end
    查看全部
    0 采集 收起 来源:字节缓冲流

    2015-04-12

  • flush是刷新缓冲区 不刷新写不进去
    查看全部
    0 采集 收起 来源:字节缓冲流

    2015-04-12

举报

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

微信扫码,参与3人拼团

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

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