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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 字符流的过滤器

    BufferedReader BR=new BufferedReader(InputStreamReader(FileInputStream));

    BufferedWrite BW=new BufferedWriter(File file);

    PrintWriter PW=new PrintWriter(File file,autoflush/*是否自动刷新,值为true/false */);

    BW.write();//一次可以写一行,但是不能识别换行符。

    BW.newLine();//换行操作。

    PW.println();//一次写一行,自动换行。

    BW.flush();//刷新。

    //BufferedRead()/BufferedWrite()方法参数查看API

    查看全部
  • System.out.println(stu)这句,括号里的“stu”如果不是String类型的话,就自动调用student的toString()方法.不用显式打出来,即不用写成stu.toString()。如果没有重写toString方法,则输出的就是对象stu的地址.

    查看全部
  • File类 直接在创建对象时指定,用于表示文件或目录地址

    flie.exists(); 判断文件/目录是否存在

    file.mkdir(); 创建目录 file.mkdirs(); 创建多级目录

    file.createNewFile(); 创建文件

    file.delete(); 删除文件或目录

    file.isDirectory(); 判断是否为目录

    file.isFile(); 判断是否为文件

    file 返回文件路径(等于file.getAbsolutePath();)

    file.getName(); 返回文件/目录名

    file.getParent(); 返回当前文件的父目录地址

    file.getParentFile(); 返回当前文件父目录的File对象

    查看全部
  • //创建文件 file file1=new file("文件路径\\文件名称"); file file2=new file("文件路径","文件名称"); file1.exist();//文件是否存在。 file1.createnewfile();//创建file1文件。 file1.mkdir();//创建目录. file1.mkdirs();//创建多级目录. file1.getParent();//获取当前文件父目录。 file1.toString();//当前文件路径。 alt+/ 用于查看当前方法的API。
    查看全部
  • 编码问题:新建三个文本文件联想内容同名字、联通、联。 当你的字节序列式某种编码时,这个时候想把字节序列变成字符串,也需要用这种编码方式,否则会出现乱码。 文本文件 就是字节序列 可以是任意编码的字节序列 如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ansi编码。 联通、联这是一种巧合,他们正好符合了utf-8编码的规则。 file类的使用: RandomAccessFile的使用: 字节流的使用: 字符流的使用: 对象的序列化和反序列化:
    查看全部
    1 采集 收起 来源:文件的编码

    2018-03-22

  • write(int)只写入int的最低位的一个字节,其它3个字节被抛弃

    writeInt(int)是把整个32位都写入


    查看全部
  • file的length方法的作用:

     如果File表示一个具体文件,则length方法返回这个文件的字节大小; 如果File表示一个目录,则length方法的返回值不确定; 如果File表示的目录或文件不存在,则length方法的返回值为0L。 你要是想获取某个目录下的子文件,是不能用length方法的,要用listFiles方法,用法如下: File[] files = file.listFiles(); listFiles方法返回一个File数组,就是拿到的所有子文件(或目录)。

    File的过滤,遍历等操作  列出指定目录下的(包括子目录)的所有文件 

     File file = new File();  exists() 方法用于判断文件或目录是否存在 

     isDirectory()方法判断File类的对象是否是目录  

    throw new IllegalArgumentException();抛出异常

      String[] filenames = file.list()  //返回的是字符串数组,列出当前目录下的所有子目录和文件,不包含子目录下的内容

     //递归 for(String string : filenames){//将filenames数组中的值,循环赋值给string,直到filenames为空时,结束循环  System.out.println(string); } 

     //如果要遍历目录下的内容就需要构造成File对象做递归操作,File提供了直接返回File对象的API File[] files = file.listFiles(); //返回的是直接子目录(文件)的抽象  //递归,遍历出该目录下所有文件信息,包括子目录下的文件 for(File f :files){  if(f.isDirectory){   //递归遍历该目录下的子目录的信息   listDirectory(file);  }  else{  System.out.pritln(file);  } }

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

    2018-08-02

  • 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();获取文件格式名。

    查看全部
  • 对象序列化操作 将Object转化为byte序列,反之叫做反序列

    序列化流 ObjectOutputStream 是过滤流-------writeObject

    反序列化流 ObjectInputStream-----readObject

    序列化接口 Serializable,对象必须实现序列化接口,才能进行序列化,否则会出现异常,该接口没有任何方法

    查看全部
  • 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());

    }

    }


    查看全部
  • BufferedInputStream&BufferedOutputStream
    提供了带缓存区的操作,一般打开文件进行写入或读取操作时,都会加上缓冲,这种流模式提高了IO的性能
    从应用程序中把输入放入文件,相当于将一罐水倒入到另外一个罐中:
    FileOutputStream-->write()方法相当于一滴一滴地把水“转移”过去
    DataOutputStream-->writeXxx()方法会方便一些,相当于一瓢一瓢把水“转移”
    BuffereOutputStream-->write()方法更方便,相当于一瓢一瓢先放入 桶中,在从桶中倒入到另外一个罐中

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

    2018-06-02

  • 1.如果字节数组的长度够大,(也就是比源文件的字节大小要大)则一次就能读取完流中的字节数据,此时循环只执行一次...
    2.如果字节数组的长度不够大,(也就是比源文件的字节大小要小)则需要几次才能读完,每读取一次,把读取到的字节写入到输出流中,直到全部读写完毕
    /* 假设源文件占250个字节,设定的字节数组长度为100
    则第一次从输入流中读取100个字节存放到缓冲区的0-100的位置
    并将缓冲区0-100位置的字节写入到输出流中。
    第二次同样从输入流中读取100个字节存放到缓冲区的0-100的位置,这时会覆盖第一次存放在缓冲区的对应字节
    并将缓冲0-100位置的字节存写入到输出流中
    第三次从输入流中读取50个字节存放到缓冲区的0-50的位置,会覆盖第二次存放在缓冲区的对应字节
    并将缓冲区0-50的字节写入到输出流中
    第四次返回值是-1,也就是EOF标志,循环结束,已实现源文件和目标文件的完整复制
    */

    查看全部
  • file.createNewFile(),创建文件

    file.mkdir(),创建文件夹

    查看全部
  • 1. PrintWriter的print、println方法可以接受任意类型的参数,而BufferedWriter的write方法只能接受字符、字符数组和字符串;

    2. PrintWriter的println方法自动添加换行,BufferedWriter需要显示调用newLine方法;

    3. PrintWriter的方法不会抛异常,若关心异常,需要调用checkError方法看是否有异常发生;

    4. PrintWriter构造方法可指定参数,实现自动刷新缓存(autoflush);

    5. PrintWriter的构造方法更广

    6.PrintWriter提供println()方法可以写不同平台的换行符,而BufferedWriter可以任意设定缓冲大小


    查看全部
  • 1.一个类实现了序列化接口,其子类都可以进行序列化操作 2.子类序列化,递归调用父类的构造器,原理,对象实例化构造函数就是被递归调用的; 3.对子类对象进行反序列化操作时,如果其父类没有实现序列化接口,那么其父类的构造函数会被调用;如果父类实现了序列化接口,那么构造函数不会被调用
    查看全部

举报

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

微信扫码,参与3人拼团

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

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