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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • File常用的API
    查看全部
  • 创建文件两种写法 File file = new File("绝对路径"); File file = new File("文件的上一级目录","文件名");
    查看全部
  • 在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常。 比如要读一个test.txt文件 Windows下要这么写:File file1 = new File ("C:\tmp\test.txt"); Linux下则是这样的:File file2 = new File ("/tmp/test.txt"); 如果要考虑跨平台,则最好是这么写: File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt"); File file1=new File("e:"+File.separator);在Windows中可以看成 e:\
    查看全部
  • 文本文件 就是字节序列 可以是任意编码的字节序列 如果我们在中文机器上直接创建文本文件,那么该文本文件只认识ANSI编码
    查看全部
    0 采集 收起 来源:文件的编码

    2016-08-20

  • 当你的字节序列是某种编码时,这个时候想把字节序列变成字符串,也需要用这种编码方式,否则会出现乱码
    查看全部
    0 采集 收起 来源:文件的编码

    2016-08-20

  • 在GBK编码中中文占用两个字节,英文占用一个字节 在UTF-8编码中中文占用三个字节,英文占用一个字节 java是双字节编码,实际使用的编码为UTF-16be,中文占用两个字节,英文占用两个字节
    查看全部
    0 采集 收起 来源:文件的编码

    2016-08-20

  • public static void printHex(String fileName)throws IOException{ FileInputStream in=new FileInputStream(fileName); int b; int i=1; while((b=in.read())!=-1)} System.out.print(Integer.toHexString(b)+" "); if(i++%10==0){ system.out.println(); }}}}
    查看全部
  • 写一个类,只写类的功能,单独再建立一个test类用来实现。
    查看全部
  • if(i++%10==0){ System.out.println();}
    查看全部
  • public int read(byte[] b, int off, int len) throws IOException 参数: b - 存储读取数据的缓冲区。 off - 目标数组 b 中的起始偏移量。 len - 读取的最大字节数。 返回: 读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1 一次读取最大字节数,如果off为0,则是继续上次的读取(读取后指针会移动)
    查看全部
  • 字节流 一、 InputStream、OutputStream 抽象了应用程序读写数据方式(父类,抽象类) FileInputStream、FileOutputStream 具体的实现了在文件中读写数据(子类) (1)DataOutputStream&DataInputStream 对"流"功能的扩展,可以更加方便的读取int,long,字符等类型数据 DataOutputStream --- writeInt()/writeDouble()/writeUTF() (2)BufferedInputStream&BufferedOutputStream 提供了带缓冲区的操作,提高了IO的性能 三者对比: FileOutputStream--->write()方法相当于一滴一滴地把水“转移”过去 DataOutputStream-->writeXxx()方法会方便一些,相当于一瓢一瓢把水“转移”过去 BufferedOutputStream--->write方法更方便,相当于一飘一瓢先放入桶中,再从桶中倒入到另一个缸中,性能提高了 二、 EOF=End 及文件结尾(in.read()=-1) 三、 输入流基本方法 read(); int b=in.read();//读取一个字节无符号填充到int的低八位,返回读取的长度,-1是EOF;适合读取小文件 in.read(byte[] buf);//读取数据填充到字节数组buf in.read(byte[] buf,int start,int size);//同上,从buf的start位置开始存放size长度的数据,适合读取大文件 四、 输出流基本方法write(); out.write(int b); //写出一个byte到流,b的低八位 out.write(byte[] buf);//将buf字节数组都写入到流 out.write(byte[] buf,int start,int size);//同上,详见read对应方法
    查看全部
    0 采集 收起 来源:字节缓冲流

    2018-03-22

  • 实现了Serializable接口的类的事例才能够被序列化
    查看全部
  • ObjectOutputStream对象序列化流,被transient修饰的变量不能被序列化
    查看全部
  • 好好好
    查看全部
    0 采集 收起 来源:文件的编码

    2016-08-18

  • InputStream、OutputStream 抽象了应用程序读写数据方式(父类,抽象类) FileInputStream、FileOutputStream 具体的实现了在文件中读写数据(子类) EOF=End 及文件结尾(in.read()=-1) 输入流基本方法 read(); int b=in.read();//读取一个字节无符号填充到int的低八位,前面的24位补零。(int是32位,一个字节8位)-1是EOF in.read(byte[] buf);//读取数据填充到字节数组buf in.read(byte[] buf,int start,int size);//同上,从buf的start位置开始存放size长度的数据 输出流基本方法write(); out.write(int b); //写出一个byte到流,b的低八位 out.write(byte[] buf);//将buf字节数组都写入到流 out.write(byte[] buf,int start,int size);//同上,详见read对应方法
    查看全部

举报

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

微信扫码,参与3人拼团

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

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