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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • File类 java.io.File类用来表示文件(目录)的信息(名称、大小等),不能用来访问文件内容 1.File类的构造函数,创建一个file File file = new File("D:\\work\\imooc"); //创建目录 File file1 = new File("D:\\work\\imooc.txt"); //创建文件imooc.txt File file1 = new File("D:\\work", "imooc.txt"); //创建文件imooc.txt(同上) 注意:在写路径时,因为\需要转义,所以必须用\\ 2.File类的一些API exists()是否存在 mkdir()创建目录 delete()删除file isDirectory()是否是目录 isFile()是否是文件 createNewFile创建文件 System.out.println(file1); //打印fille1所在位置 getAbsolutePath()得到绝对路径 getName()文件名 getParent()得到父目录 3.遍历目录(函数实现) public static void listDir(File dir) throws IOException{ ………… String[] filesnames = dir.list(); //list()函数以String数组方式返回该目录下的子目录和文件 for (String file : filesnames) { System.out.println(dir+"\\"+file); } } 递归遍历子目录的文件: public static void listDir(File dir) throws IOException{ …… File[] files = dir.listFiles(); //列出所有的子目录和文件 if(files != null && files.length > 0){ for (File file : files) { if(file.isDirectory()){ listDir(file);//递归调用子目录 }else System.out.println(file); } } }
    查看全部
  • 路径下的子目录数组File[] listFiles()
    查看全部
    0 采集 收起 来源:遍历目录

    2015-09-16

  • 创建多级目录 mkdirs
    查看全部
  • 得到父目录 getParent()
    查看全部
  • 在硬盘上创建一个文件 createNewFile()
    查看全部
  • 创建一个目录 mkDir() 删除一个目录 delete()
    查看全部
  • 判断一个文件(目录)是否存在 exists() 判断一个是否是一个目录 isDirectory() 判断是否是一个文件 isFile()
    查看全部
  • File.separator 在不同的操作系统表示相同的文件路径分割符
    查看全部
  • alt+/智能提示快捷键
    查看全部
  • java.io.File类用于表示文件(目录) File类只用于表示文件(目录)的信息(名称,大小等),不用于文件内容的访问
    查看全部
  • 一、编码问题 1.在windows中新建三个txt的文件,文件名和文件内容分别叫做:联通、联想、联 发现由于默认的编码方式不同,联想的编码方式为ANSI,联通和联的编码方式为UTF-8,导致联通和联的文件内容全是乱码。 2.将java字符串转换成字节流 String s = "慕课ABC"; byte[] bytes1 = s.getBytes();//将String转换成字节序列,使用的是项目默认的编码:GBK for(byte b:bytes1){ //把字节转换成int,以16进制方式显示 System.out.println(Integer.toHexString(b & 0xff)+" "); } 结果:在GBK编码中,汉字占用两个字节,英文字母占用一个字节。 3.getBytes()可以指定编码方式 byte[] bytes2 = s.getBytes("utf-8"); //使用utf-8编码方式将java字符串转换成字节流 结果证明:在utf-8编码中,中文汉字占用三个字节,英文字母占用一个字节。 4.java是双字节编码,utf-16be,中英文都是占用两个字节 byte[] bytes3 = s.getBytes("utf-16be"); 5.注意: 当字节序列是某种编码方式时,如果想把字节序列转换成字符串,那么字符串也必须是对应的编码方式,否则会出现乱码 (1)String s1 = new String(bytes3); //使用项目默认的编码GBK,而bytes3是utf-16be编码 System.out.println(s1);//结果显示为乱码 (2)String s2 = new String(bytes3, "utf-16be"); //使用对应的编码 System.out.println(s2);//正常显示 6.文本文件就是字节序列,可以是任意编码的。但是在中文机器上直接创建文本文件时,该文本文件只认识ANSI编码 所以在最开始的联通、联这两个文件中,正好是utf-8的编码,所以显示乱码。 7.但是还应注意: (1)在一个项目中以utf-8创建一个文本文件,将其copy到系统中,是可以正常显示的,因为系统可以识别任意编码的文本文件。 (2)不同编码汉字占用的字节数不同 (3)将字节序列转换成java字符时,注意编码方式要一致
    查看全部
    0 采集 收起 来源:文件的编码

    2018-03-22

  • 前面一种方法是读固定的大小字节的内容,是一次性读并保存,当定义的byte大小小于读的内容时就只能读取部分内容;第二种方法则是每次都读byte大小的内容,循环利用去读一直到文件结尾-1时就停止
    查看全部
  • FileOutputStream fos = new FileOutputStream(file,true) 文件不存在,则创建,否则在后面追加内容 FileOutputStream fos = new FileOutputStream(file) 文件不存在,则创建,否则,删除后再创建 java中throw和throws的区别 仔细一看就知道了: public Test() throws RepletException { try { System.out.println("Test this Project!") } catch (Exception e) { throw new Exception(e.toString()); } }throws是用来声明一个方法可能抛出的所有异常信息throw则是指抛出的一个具体的异常类型搜索。通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息。throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法;throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛
    查看全部
  • transient关键字 所修饰的元素 不会进行JVM默认的序列化,也可以自己完成这个元素的序列化
    查看全部
  • 对子类对象进行反序列化操作时,其父类没有实现序列化接口,父类的构造方法就会被显示调用
    查看全部

举报

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

微信扫码,参与3人拼团

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

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