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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • flush();//刷新缓冲区
    查看全部
    0 采集 收起 来源:字节缓冲流

    2015-10-08

  • BufferedInputStream & BufferedOutputStream 这两个流类为IO提供了带缓冲区的操作,一般打开文件进行细耳 或读取操作时,都会加上缓冲,这种刘模式提供了IP的性能 打个比喻,从应用程序中把输入放入文件,相当于将一缸水导入到另一个缸中,方法有以下几种: FileOutputStream--->write()方法相当于一滴一滴把水“转移”过去 DataOutputStream--->writeXxx()方法会方便一些,相当于一瓢一瓢把水“转移”过去 BufferedOutputStream--->write方法更方便,相当于一瓢一瓢先放入桶中,再从桶中倒入到缸中。 批量读取导入速度最快!
    查看全部
    0 采集 收起 来源:字节缓冲流

    2018-03-22

  • InputStreamReader()的构造方法可以是单独一个InputStream的对象或者对象,编码类型.如果file的类型是utf-8,则构造函数里的编码类型就要加上"utf-8" InputStreamReader a=new InputStreamReader(new FileInputStream(file)); InputStreamReader a=new InputStreamReader(new FileInputStream(file),"gbk"); (编码对应文件的编码类型) InputStreamReader a=new InputStreamReader(new FileInputStream("E:\\practice\\text.txt")); //创建字符流的InputStreamReader对象 int c=a.read(); //读取的是一个字符但会自动转为int型而不是字符型 System.out.print((char)c); //强制转为char型之后就能输出对应的字符。 char[]buffer=new char[8*1024];//定义字符数组 int c ; while(c=a.read(buffer)!=-1){ //批量读取,放入buffer这个字符数组,返回读取到字符的个数。 String s=new String(buffer); System.out.println(s); } 把字符数组转为字符串输出. read(char[])跟read()无参的不同,前者直接读取字符放入字符数组中,而单个读取的时候读取出来的字符会自动转为int型. 同样的用OutputStreamWriter的write()时,每用一次也需要用flush()函数刷新该流的缓冲。跟字节流的BufferedOutpurStream的用法一样。
    查看全部
  • 字符流
    查看全部
  • 字符流(Reader Writer)--->对文本文件进行操作 字符的处理,一次处理一个字符 字符的底层仍然是基本的字节序列 字符流的基本实现 InputStreamReader 完成byte流解析为char流,按照编码解析 OutputStreamWriter 提供char流到byte流,按照编码处理 字节流的write方法可以直接写入一个字节或字节数组.读取的时候也是字节形式来读取,或者读取的数据存放在字节数组. 字符流的write方法可以直接写入一个字符或字符串或字符数组.读取的时候可以读取一个字符,或者读取数据存放到字符数组.BufferedReader读取的时候可以用readline()方法读取一行文本.PrintWriter的println()方法可以直接写入字符串.
    查看全部
  • (字节流) FileInputStream是InputStream的直接子类 DataInputStream、BufferedInputStream是FilterInputStream的子类而FilterInputStream是继承InputStream类的。 只有DateInputStream、DataOutputStream的read(),write()方法有readXxx(),writeXxx(); FileInputStream()、FileOutputStream()的构造方法参数常用是String name或者file对象。String name就是直接一个文件的路径"E:\\practice\\text.txt",file对象就是File file=new File("E:\\practice\\text.txt"). DataInputStream()/DataOutputStream()、BufferedInputStream()/BufferedOutputStream()的构造方法参数类型都是InputStream/OutputStream抽象类的对象,所以是用他的子类FileInputStream/FileOutputStream的对象来做参数. 注意FileOutputStream的构造方法会有true
    查看全部
    0 采集 收起 来源:字节缓冲流

    2018-03-22

  • BufferedInputStream&BufferedOutputStream 这两个类为IO提供了带缓冲区的操作,一般打开文件进行写入或读取操作时,都会加上缓冲,这种流模式提高了IO的性能. 进行文件拷贝的时间 从应用程序中把输入(输入的数据)放入文件,相当于将一缸水倒入到另一个缸中: FileOutputStream-->write()方法相当于一滴一滴把水转移过去。 DataOutputStream-->writeXxx()方法会方便一些,相当于一瓢一瓢把水转移过去。 BufferedOutputStream-->write()方法更方便,相当于一瓢一瓢先放入桶中(缓冲区),再从桶中倒入到水缸,性能提高了。 但是还是批量读取的方法更快,就是把数据从一个文件读取在一个字节数组,然后直接写入这个字符数组到新文件,相当于整个缸倒去两一个缸中 BufferedOutputStream i=new BufferedOutputStream(new FileOutputStream("E://practice//text.txt"));//参数依然是OutputStream的对象,所以用他的子类FileOutputStream替代。如果文件"E://practice//text.txt"不存在则创建,存在的话则删除后创建。 i.write('A'); i.flush(); // 每用write()一次就要刷新此缓冲的输出流一次
    查看全部
    0 采集 收起 来源:字节缓冲流

    2018-03-22

  • 创建没有的文件:File file=new File("E:\\javaio"); if(!file.exist()) file.mkdir();//创建文件 else file.delete();//删除创建的文件
    查看全部
  • 输出流
    查看全部
  • 输入流
    查看全部
  • DataInputStream,DataOutputStream是对流功能的扩张,可以更加方便的读取int,long,字符等类型的数据. FileInputStream file=new FileInputStream("E:\\practice\\text"); DataInputStream i=new DataInputStream(file); //参数名是InputStream抽象类的对象,所以用他子类FileInputStream的对象来做参数.
    查看全部
  • File file=new File("E:\\practice\\text.txt"); FileOutputStream out = new FileOutputStream(file,true) 如果file文件不存在,则创建,如果存在,在后面追加内容. FileOutputStream out =new FileOutStream("E:\\practice\\text.txt",false) FileOutputStream out =new FileOutStream("E:\\practice\\text.txt") 如果file文件不存在,则创建,如果存在,删除后再创建 while((b=in.read(buf))!=-1)// 是判断是否读完,b的值是成功读到的字节数,当循环读取文件时,可能会读取多次,当读完最后一次之后再读取,则b的值就会是-1,,当b的值为-1即代表文件已经读完.
    查看全部
  • RandomAccessFile
    查看全部
  • RandomAccessFile是java提供的用于文件访问的类; RandomAccessFile支持随机访问文件,可以访问文件的任意位置; 1.java文件模型:文件在硬盘上是byte byte byte 形式存储的,是数据的集合! 2.打开文件的模式包括“rw”(读写)和“r”(只读); RandomAccessFile raf= new RandomAccessFile(file,"rw");打开时,文件指针在开头,pointer=0; 3.raf.write(int a)--->每次只能写一个字节(后八位),同时指针指向下一个字节的位置,准备再次写入; 4.int b= raf.read()--->每次读一个字节; 5.文件读写完成后一定要关闭!
    查看全部
  • File类只能用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问!
    查看全部

举报

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

微信扫码,参与3人拼团

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

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