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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 重要方法
    查看全部
  • 好呵呵
    查看全部
    0 采集 收起 来源:文件的编码

    2015-07-27

  • java.io.File类用于表示文件(目录) File类只能用于表示文件(目录)的信息(名称,大小),不能用于文件内容的访问 File file = new File("E:\\a\\");//转义一下 File file = new File(“e:”+File.separator)//File.separator 设置分隔符,不管在哪个系统下都可以 file.exist() ;//文件是否存在 file.mkdir() ;//创建一级目录 file.mkdirs();//创建多级目录 file.delete() ; file.isDirectory(); file.isFile() ; file.createNewFile() ; syso(file) ;//file.toStirng() file的路径 =syso(file.getAbsolutePath())//绝对路径 file.getName();//文件名 file.getParent() ;//父路径
    查看全部
  • java是双字节编码(utf-16be): 中文两个字节 英文两个字节; GBK:中文占两个字节,英文1个字节; utf-8:中文占三个字节,英文占1个字节。 中文系统下:ANSI编码代表GBK编码 //打印字节。把字节转换为16为整型。 &oxff 去掉前面的,只留八位 system.out.print(Inter.toHexString(b&oxff)) 字节序列转换字符串也需要编码方式,否则乱码 String str1=new String(byte1,"utf-8") 文本文件就是字节序列,可以是任意字节序列。中文只认ansi 编码代表CBK编码
    查看全部
    0 采集 收起 来源:文件的编码

    2018-03-22

  • va是双字节编码(utf-16be): 中文两个字节 英文两个字节; GBK:中文占两个字节,英文1个字节; utf-8:中文占三个字节,英文占1个字节。 中文系统下:ANSI编码代表GBK编码。
    查看全部
    0 采集 收起 来源:文件的编码

    2015-07-24

  • String s="慕课ASD"; //字符串转为byte Byte[] bytes1=s.getByte(); for(){ //打印字节。把字节转换为16为整型。 &oxff 去掉前面的,只留八位 system.out.print(Inter.toHexString(b&oxff)) } 系统默认jbk编码 byte[] b1=s.getByte("jbk") 转换城jbk格式字符 结果,一个中午占俩个字节,一个英文占一个字节 utf-8 中午占3个字节,英文占一个 utf-16be 中文占俩,英文俩 字节序列转换字符串也需要编码方式,否则乱码 String str1=new String(byte1,"utf-8") 文本文件就是字节序列,可以是任意字节序列。中文只认ansi 编码代表CBK编码
    查看全部
    0 采集 收起 来源:文件的编码

    2018-03-22

  • 序列化过程中子父类构造函数调用问题 一个类实现了序列化接口,那么其子类都可以进行序列化 一、父类实现了serializable接口,子类继承就可序列化。 1、子类在反序列化时,父类实现了序列化接口,则不会递归调用其构造函数。 二、父类未实现serializable接口,子类自行实现可序列化 2、子类在反序列化时,父类没有实现序列化接口,则会递归调用其构造函数。 【反序列化时】,向上递归调用构造函数会从【可序列化的一级父类结束】。即谁实现了可序列化(包括继承实现的),谁的构造函数就不会调用。 父类实现了serializable接口,子类继承就可序列化。 1、子类在反序列化时,其父类实现了序列化接口,则不会递归调用他们的构造函数。 2、若父类没有实现serializable接口,其子类自行实现反序列化,递归调用其构造函数 结论:反序列化时,谁实现了可序列化(包括继承实现的),谁的构造函数就不会调用。
    查看全部
  • transient 关键字:被transient修饰的元素,该元素不会进行jvm默认的序列化,但可以自己完成这个元素的序列化 注意:(1)在以后的网络编程中,如果有某些元素不需要传输,那就可以用transient修饰,来节省流量;对有效元素序列化,提高性能。 (2)可以使用writeObject自己完成这个元素的序列化。ArrayList就是用了此方法进行了优化操作。ArrayList最核心的容器Object[] elementData使用了transient修饰,但是在writeObject自己实现对elementData数组的序列化。只对数组中有效元素进行序列化。readObject与之类似。 private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException private void readObject(java.io.ObjectInputStream s) throws java.io.IOException,ClassNotFoundException
    查看全部
  • //1.对象的序列化 ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(file)); Student stu = new Student("1001","张三",20); oos.writeObject(stu); oos.flush(); oos.close(); //反序列化 ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file)); Student stu = (Student)ois.readObject(); System.out.println(stu); ois.close();
    查看全部
  • 对象序列化和反序列化 序列化:就是将object转换成byte,反之,就是反序列化 2、序列化流(ObjectOutputStream),是过滤流 反序列化流(ObjectInputStream)-->readObject 3、序列化接口(Serializable)--》writeObject 对象必须实现序列化接口,才能进行序列化,否则将出现异常 这个接口,没有任何方法,只是一个标准
    查看全部
  • BufferedReader -- > readLine -> 读一行 不识别换行符,不会自动换行 BufferedWriter/PrintWriter -- > writeLine/println -> 写一行,自动换行
    查看全部
  • InputStream OutputStream InputStream 抽象了应用程序读取数据的方式 OutputStream 抽象了应用程序写出数据的方式 EOF=End 读到-1就读到结尾 输入流基本方法 int b=in.read();读取一个字节无符号填充到int的低八位,-1是EOF in.read(byte[] buf);读取数据填充到字节数组buf、 in.read(byte[] buf,int start,int size) 输出流基本方法 out.write(int b) 昔日出一个byte到流,b的低八位 out.write(byte][] buf) 将buf字节数组都写入到流 out.write(byte[] buf,int start,int size); FileInputStream 具体实现了文件上读取数据
    查看全部
  • .字符流:字符流分为输出流(Reader)和输出流(Writer)。操作的是文本文件。 字符处理,一次处理一个字符 字符处理底层还是基本的字节序列 InputStreamReader:完成byte流解析为char流,按照编码解析 FileInputStream in = new FileInputStream("e:\\javaio\\imoocutf8.txt"); //获取字符输入流 InputStreamReader isr = new InputStreamReader(in,"utf-8");//默认项目的编码,操作的时候,要写文件本身的编码格式 OutputStreamWriter:提供char流到byte流,按照编码处理 FileOutputStream out = new FileOutputStream("e:\\javaio\\imoocutf81.txt"); //获取字符输出流 OutputStreamWriter osw = new OutputStreamWriter(out,"utf-8"); FileReader/FileWriter:可以直接写文件名的路径。与InputStreamReader相比坏处:无法指定读取和写出的编码,容易出现乱码。 FileReader fr = new FileReader("e:\\javaio\\imooc.txt"); //输入流 FileWriter fw = new FileWriter("e:\\javaio\\imooc2.txt");//输出流
    查看全部
  • String s="1111"; Byte[] byte=s.getByte();//字符串转换为byte
    查看全部
    0 采集 收起 来源:文件的编码

    2018-03-22

  • 字符流 (操作的是文本 文本文件) 注意默认的编码方式 1)编码问题 2)认识文本和文本文件 java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码) 文件是byte byte byte 的数据序列 文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化byte的存储 3)字符流(Reader Writer) 字符的处理,一次处理一个字符 字符的底层依然是基本的字节序列 4)InputStreamreader 完成byte流解析成char流 按照编码解析 OutputStreamWrite 提供char流到byte流 按照编码处理
    查看全部

举报

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

微信扫码,参与3人拼团

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

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