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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • fileoutputstream
    查看全部
  • 一个类实现类序列化接口,那么他的子类也实现了序列化接口 对于子类对象进行反序列化的时候 如果父类没有实现序列化接口,那么父类的构造函数就会被显示的调用 如果父类实现了序列化接口,那么反序列化子类的时候父类的构造函数就不会被显示的调用
    查看全部
  • transient关键字可以使属性不被JVM序列化 进入ArrayList源码: Ctrl+鼠标左键 进入查找/替换窗口,查找关键字 Ctrl+F transient int age; private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException{ //将jvm能默认序列化元素进行序列化操作 s.defaultWriteObject(); s.writeInt(age); } private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException { //将jvm能默认反序列化元素进行序列化操作 s.defaultReadObject(); this.age=s.readInt(); }
    查看全部
  • 重点看一下递归
    查看全部
    0 采集 收起 来源:遍历目录

    2017-08-14

  • 2.字符流 1)编码问题 2)认识文本和文本文件 java的文本(char)是16位无符号整数,是字符的Unicode编码(双字节编码) 文件:是byte byte byte...的数据序列 文本文件:是文本(char)序列按照某种编码方案(utf-8、utf-16be、gbk...)序列化为byte的存储结果 3)字符流:(Reader Writer)抽象类-->操作的是文本文本文件 字符的处理,异常处理一个字符 字符的底层仍然是基本的字节序列 字符流的基本实现 InputStreamReader-->完成byte流解析为char流,按照编码解析 OutputStreamWrrite-->提供char流到byte流,按照编码处理
    查看全部
  • 2.IO流 输出流基本方法
    查看全部
  • 1.IO流
    查看全部
  • RadomAccessFile是java提供对文件内容访问类,既可以读文件也可以写文件。 RadomAccessFile可随机访问文件,可访问文件任意位置。 (1)java文件模型在硬盘上是byte byte byte存储的,是数据集合。 (2)打开文件有两种模式("rw")读写("r")只读。 基本语法:RandomAccessFile raf = new RandomAccessFile(file,"rw"); file为文件的对象"rw"是文件的读写权限,而且具有文件指针,打开文件时指针在开头 pointer在开头,读写的时候指针都会移动。 (3)raf.write(int)----->只写一个字节(后八位),同时指针指向下一个位置准备下次写入。 (4)int b = raf.read(int)---->读一个字节。 (5)文件操作之后一定要关闭。 (6)如果我们创建一个file类对象时没有给定目录系统就会默认在项目中。 如果创建的file对象不存在,我们可以通过 file对象.mkdir()方法来创建目录。 我们可以通过 File demon = File(创建文件目录,"文件名")方式来创建一个文件对象,然后我们用RandomAccessFile raf = new RandomAccessFile(文件引用,"读写的权限"); 我们可以通过raf.getFilePointer()来获取指针的位置。 当用write()方法写的时候只能写进去一个字节即(后八位)。 如果用write()方法,每次只能写一个字节,如果想把整数写进去,就得写四次。运用移位运算符i>>>8之类的。 我们RandomAccessFile类中有writeInt(i)方法,可以直接把i写进去,我们可以将字符串s通过 byte[] by = s.getBytes()来将s转化成字节数组。 然后raf.write(by)将字符数组写入文件。我们可以通过raf.length()来获取文件的字节数。 用raf.seek(0)来将raf的指针指向开头处,可以通过byte[] by = new byte[(int) raf.length()]然后我们可以直接全部读取即raf.read(by)就可以将文件中的数据全部读进文件我们可以通过Arrays.toString(by)方法将数据以数组的方式输出。
    查看全部
  • File类常用的API介绍: java.io.File用来表示文件(目录)我们就可以操作硬盘上的文件和目录。 File类值用来表示用于表示文件(目录)的信息(名称,大小等),不能用于文件内容的访问。 file类的基本API操作,基本语法: File file = new File("文件所在的位置如e:\\java\\io\\1.txt"); 我们可以通过file.exists()方法来获取该文件是否存在。返回值类型是boolean类型。 我们可以通过file.mkdir()方法来创建文件夹。 我们也可以通过file.delete()方法来删除文件夹。 我们可以通过file.isDirectory()方法来判断file 是否是一个目录。 我们可以通过file.isFile()可以判断file是否是文件。 我们可以通过file.creatNewFile()来创建已经声明的文件。 我们在创建file对象时:File file = new File("目录","文件名"); 我们还可以直接打印file,打印出的结果是文件的目录即(toString) 我们也可以通过file.getAbsolutePath()方法来获取文件的路径。 我们也可以通过file.getName()方法打印目录名。 如果file代表的是文件的名字的话flie.getName()方法获取的是文件的名字。 我们还可以通过file.gerParent()方法来获取文件(目录)得到父目录。 我们还可以通过file.getParentFile()方法来获取父目录。 低昂我们想创建多级目录时我们可以通过mkdirs()方法来创建
    查看全部
  • Java中的 I/O输入输出流
    查看全部
    0 采集 收起 来源:文件的编码

    2017-08-13

  • byte类型的数字要&0xff再赋值给int类型,其本质原因就是想保持二进制补码的一致性。 当byte要转化为int的时候,高的24位必然会补1,这样,其二进制补码其实已经不一致了,&0xff可以将高的24位置为0,低8位保持原样。这样做的目的就是为了保证二进制数据的一致性。
    查看全部
  • 大纲
    查看全部
    0 采集 收起 来源:文件的编码

    2017-08-12

  • gbk编码中文占两个字节
    查看全部
    0 采集 收起 来源:文件的编码

    2017-08-12

  • 1.IO流:输入流和输出流;(字节流和字符流) 2.字节流:InputStream、OutputStream;InputStream抽象了应用程序读取数据的方式;Outpustream抽象了应用程序写入数据的方式; 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长度的字节到流
    查看全部
  • File.separator 设置分隔符,不论任何操作系统都可以识别
    查看全部

举报

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

微信扫码,参与3人拼团

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

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