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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 字符流InputStreamReader:完成byte流解析为char流,按照编码解析

    OutputStreamWriter:提供char流到byte流,按照编码处理

    字符流操作的是文本文件(文本序列按照某种编码方式utf-8/utf-16be/gbk序列化为byte的存储结果)

    字符的处理一次处理一个字符,字符的底层时基本的字节序列


    查看全部
  • 字节缓冲流BufferedInputStream&BufferedOutputStream

    这两个流类为IO提供缓冲区的操作,文件写入或读取都会加上缓冲,这种流模式提高了IO的性能,相比文件输出流更快,比数据输出流更加简单快捷。

    查看全部
    0 采集 收起 来源:字节缓冲流

    2018-07-23

  • IO流分为输入流、输出流 还有字节流、字符流 1、字节流: (1)InputStream:抽象了应用程序读取数据的方式 (2)OutputStream:抽象了应用程序写 出数据的方式 2)EOF = End 读到-1就读到结尾 3)输入流基本方法 int b = in.read();读取一个字节无符号填充到int低八位.-1是EOF in.read(byte[] buf) 读取数据填充到字节数组buf in.read(byte[] buf,int start, int size)读取数据到字节数组buf从buf的start位置开始存放size长度分数据 4)输出流基本方法 out.write(int b)写出一个byte到流,b的低8位 out.write(byte[] buf)将buf字节数组都写到流 out.write(byte[] buf, int start,int size) 字节数组buf从start位置开始写size长度的字节到流

    查看全部
  • BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));

    BufferedOutputStream bos =new BufferedOutputStream(new FileoutputStream(destFile));

    int c;

    while((c.bis.read()!= -1)){

    }

    查看全部
    0 采集 收起 来源:字节缓冲流

    2018-07-22

  •     public static void phhey(String framname){

    FileInputSteam in = new InputSteam()


    }

    查看全部
  • 数据输入输出流DataOutputStream/DataInputStream

    对流的操作可以更方便的读取int,long,字符等类型数据

    DataOutputStream dos=new DataOutputStream(OutputStream out);

    DataInputStream dis=new DataInputStream(InputStream in);

    包装实现对int、long、double、字符等数据写入/读取操作

    dos.writeInt()/dos,writeDouble()....

    dis.readInt()/din.readDouble()...

    查看全部
  • 文件输出流FileOutputStream

    如果文件不存在,则直接创建,如果存在,删除后创建(在源文件后写入)

    FileOutputStream out=new FileOutputStream(fileName(,boolean));

    输出流基本方法,write只能写入八位

    out.write(int b);写入一个byte到流,b的低八位

    out.write(byte[] buf)将buf字节数组都写入到流

    out.write(byte[] buf,int start,int size)

    查看全部
  • 字节流之文件输入流FilelnputStream

    InputStream:抽象了应用程序读取数据方式;

    FileInputStream in=new FileInputStream(fileName);

    输入流基本方法:int b=in.read();读取一个字节无符号填充到int低八位;

    in.read(byte[] buf);  从输入流中将最多 buf.length 个字节的数据读入一个 byte 数组中。

    in.read(byte[] buf,int start,int size);规定开始读取索引和最大读取长度,返回字符数组长度

    查看全部
  • RandomAccessFile的操作:提供对文件内容的访问,既可以读文件,也可以写文件;支持随机访问文件,可以访问文件的任意位置

    打开文件,两种模式"rw"(读写) "r"(只读):RandomAccessFile raf=new RandomAccessFile(file,"rw"/"r");

    文件指针,打开文件时指针在开头pointer=0

    写方法:raf.write(int):只写一个字节(后八位),同时指针指向下一个位置,准备再次写入

    读方法:int b=raf.read():读文件指针必须移到头部,读取一个字节

    byte[] bt=new byte[(int)raf.length];

    raf.read(bt):一次性读取,将文件内容全部督导字节数组中

    文件读写完毕必须关闭文件:raf.close();

    查看全部
  • 遍历目录:如果要遍历子目录下的内容就要构造成File对象做递归操作,File提供了直接返回File对象,如果是目录,需要递归操作,否则直接打印输出。

    File[] files=File.listFiles();

    for(File file:files) {

    if(file.isDirectory()){将list递归调用;}

    else System.out.println(file);

    查看全部
    0 采集 收起 来源:遍历目录

    2018-07-21

  • byte[] b=String.getBytes();转化成字节序列用的是项目默认的编码gbk,gbk编码中文占2个字节,英文占一个字节

    把字节转换为int后以16进制方式显示:Integer.toHexString(b&0xff)

    byte[] b1=String.getBytes("utf-8");utf-8编码中文占3个字节,英文占1个字节

    byte[] b2=String.getBytes("utf-16be");java是双字节编码,utf-16be中文占2个字节,英文占2个字节

    当把字节序列变成字符串,也需要用相应的编码方式,否则会出现乱码

    String str=new String(b);String str1=new String(b1,"utf-8");String str2=new String(b2,"utf-16be");

    文本文件就是字节序列,可以是任意编码的字节序列,如果在中文机器上创建文本文件,该文件只认识ansi编码

    查看全部
    0 采集 收起 来源:文件的编码

    2018-07-20

  • 输入流 输出流基本方法

    查看全部
  • File类常用API介绍:

    public class FileDemo {

    public static void main(String[] args) {

    File file = new File("F:\\javaio\\imooc");

    //System.out.println(file.exists());

    if(!file.exists()) {

    file.mkdir();

    }else {

    file.delete();

    }

    //是否是一个目录,如果是目录返回true,如果不是或者不存在返回false

    System.out.println(file.isDirectory());

    //是否是一个文件

    System.out.println(file.isFile());

    File file2 = new File("F:\\javaio\\日记1.txt");

    if(!file2.exists())

    try {

    file2.createNewFile();

    }catch (Exception e) {

    e.printStackTrace();

    // TODO: handle exception

    }

    else {

    file2.delete();

    }

    //常用的File对象API

    System.out.println(file);//file.toString()的内容

    System.out.println(file.getAbsolutePath());

    System.out.println(file.getName());

    System.out.println(file2.getName());

    System.out.println(file.getParentFile());

    System.out.println(file2.getParent());

    System.out.println(file.getParentFile().getAbsolutePath());

    }

    }


    查看全部
  • 字节流、字符流

    查看全部
  • RandomAccessFile的基本操作

    查看全部

举报

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

微信扫码,参与3人拼团

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

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