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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • FileInputStream 具体实现了在文件上读取数据 方法实现:读取指定文件内容,按照16进制输出到控制台,并且每输出10个byte换行 最后要关闭文件in.close()
    查看全部
  • 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 int.read(byte[] buf,int start,int size) 读取数据到字节数组buf,从buf的start位置开始存放size长度的数据 4) 输出流基本方法(进行写的操作) out.write(int b) 写出一个byte到流,b的低八位 out.write(byte[] buf) 将buf字节数组都写入到流 out.write(byte[] buf,int start,int size) 字节数组buf从start位置开始写size长度的字节到流
    查看全部
  • 新建一个File对象,如果没有写绝对路径则是默认在项目路径下 public static void main(String[] args) throws IOException{ File demo = new File("demo"); if(!demo.exists()) demo.mkdir(); File file = new File(demo,"raf.dat"); if(!file.exists()) file.createNewFile();//在项目下新建了demo文件夹,其中有raf.dat文件 RandomAccessFile raf = new RandomAccessFile(file,"rw") //指针的位置,写一个字节指针移一位 System.out.println(raf.getFilePointer()); raf.write('A');//只写了一个字节 int i = 0x7fffffff;//用write方法每次只能写一个字节,若要把i写进去就得写4次 raf.writeInt(i); String s = "中"; byte[] gbk = s.getBytes("gbk"); raf.write(gbk); //读文件,必须把指针移到头部 ref.seek(0); //一次性读取,把文件中的内容都读到字节数组中 byte[] buf = new byte[(int)raf.length]; raf.read(buf); System.out.println(Array.toString(buf)); for(byte b:buf){ System.out.println(Integer.toHexString(b & 0xff)+""); } }
    查看全部
  • RandomAccessFile类:java提供的对文件内容的访问类,既可以读文件,也可以写文件。RandomAccessFile支持随机访问文件,可以访问文件的任意位置。 (1)Java文件模型: 在硬盘上的文件是字节byte存储的,是数据的集合。 (2)打开文件: 有两种模式"rw"(读写)、"r"(只读)。 RandomAccessFile raf = new RandomAccessFile(file,"rw"); 因为为随机访问文件,所以内部含有一个文件指针,打开文件时指针在开头pointer = 0;指针会随着读写操作移动。 (3)写方法: raf.write(); //只写一个字节(后8位),同时指针指向下一个位置,准备再次写入。要输入较大的数时,要用到移位操作。 (4)读方法: raf.read(); //从指针在的位置读一个字节。必须把指针移到头部。 (5)文件读写完成以后一定要关闭。
    查看全部
  • package com.imooc.io; import java.io.File; import java.io.IOException; // 列出file类的一些常用操作,比如过滤、遍历等操作 public class FileUtils { public static void listDirectory(File dir) throws IOException{ // exists()方法用于判断文件或目录是否存在 if(!dir.exists()){ throw new IllegalArgumentException("目录:" + dir + "不存在"); } // isDirectory()方法用于判断File类的对象是否是目录 if(!dir.isDirectory()){ throw new IllegalArgumentException(dir + "不是目录"); } // list方法用于列出当前目录下的子目录和文件 /*String[] filenames = dir.list(); // 返回的是字符串数组 直接子的名称 不包含子目录下的内容 for (String string : filenames) { System.out.println(dir + ":\\" + string); }*/ // 如果要遍历子目录下的内容就需要构造成File对象做递归操作,File提供了返回File对象的API File[] files = dir.listFiles(); // 返回的是直接子目录(文件)的抽象 for (File file : files) { System.out.println(file); } } }
    查看全部
    0 采集 收起 来源:遍历目录

    2018-03-22

  • 1. 列出指定目录下(包括其子目录)的所有文件 .isDirectory()判断是否为目录 .list()返回String[],用于列出当前目录下的子目录和文件(不包含子目录下的名称) 如果要遍历子目录下的内容就需要构造成File对象做递归操作 File files = dir.listFiles();//返回的是直接子目录(文件)的抽象
    查看全部
    0 采集 收起 来源:遍历目录

    2017-02-25

  • File类在Java中表示文件或目录。 File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问。 创建File对象:File file=new File(String path); 可以通过 alt+/ 查看构造函数 注意:盘符后跟双斜杠 \\ 或者 / 1. 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();获取父级绝对路径。
    查看全部
  • ①gbk编码中文占用2个字节,英文占用1个字节 ②utf-8编码中文占用3个字节,英文占用1个字节 ③java是双字节编码 utf-16be,中文占用2个字节,英文占用2个字节 ④当你的字节序列是某种编码时,若想把该字节序列变成字符串,也必须用这种编码方式,否则会出现乱码 ⑤文本文件就是字节序列,可以是任意编码的字节序列,如果我们在中文机器上直接创建文本文件,则该文本文件只认识ansi编码
    查看全部
    0 采集 收起 来源:文件的编码

    2017-02-25

  • 字符串转换成字节序列是用项目默认编码gbk b & 0xff表示保留后八位
    查看全部
    0 采集 收起 来源:文件的编码

    2018-03-22

  • RandomAccessFile类李的读写操作,执行一次仅写入一字节内容,写入一个int型内容需要进行四次操作(每次将要写入的int内容右移8位)
    查看全部
  • 字节流的基本方法
    查看全部
  • RandomAccessFile的使用
    查看全部
  • RandomAccessFile特性
    查看全部
  • 遍历目录下面所有文件和子目录
    查看全部
    0 采集 收起 来源:遍历目录

    2017-02-22

  • java.io.File既可以表示目录也可以表示文件
    查看全部

举报

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

微信扫码,参与3人拼团

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

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