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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件。支持随机访问文件,可以访问文件的任意位置。 java文件模型 在硬盘上的文件时 byte byte byte存储的,是数据的集合 打开文件 两种模式:“rw”(读写),“r”(只读) RandomAccessFile raf = new RandomAccessFile(File,"rw") 文件指针,打开文件时指针在开头 pointer = 0; 写方法: raf.write(int)--->只写一个字节(后8位),同时指针指向下一个位置,准备再次写入 读方法: int b = raf.read()--->读一个字节 文件读写完成以后一定要关闭 raf.close() JavaWeb 自学群 184455634 寻找同路人
    查看全部
  • 计算机有多种编码方式,本质上任何一个文件都是字节流,区别在于系统的编码方式,编码方式不同,得出的结果也不同,所以有些时候会产生乱码,而在中文计算机中创建的文件默认的编码方式是ansi,如果像刚才那个联通的例子就会出现乱码,但是本质上计算机可以识别所有的编码方式,所以如果是已经编码好的文件粘贴过来的话就会正常识别。在eclipse中每一个项目都有自己固定的编码方式,不能兼容,所以说项目之间的文件不能互相识别,但是文件中的内容却可以正常粘贴并识别,因为其编码是跟着文件走的。中文系统下ansi编码代表gbk编码
    查看全部
    1 采集 收起 来源:文件的编码

    2016-03-12

  • 序列化中父子类的构造函数的问题:<br> 1:一个类实现了序列化接口,那么其子类都可以进行序列化<br> 2:序列化的时候,使用子类创建对象的时候会递归调用父类的构造函数——JAVA是单继承的语言,要先有父再有子 3:反序列化的时候,对子类对象进行反序列化操作时,如果其父类没有实现序列化接口,那么其父类的构造函数会被调用——直接父类和间接父类都是如此的,反之,如果父类实现了序列化的接口,则不会被递归调用。编程学习最好自己动手试验试验,这样就一目了然了,当然需要注意自己的实验环境了。
    查看全部
  • 对于文件必然有读和写的操作,读和写就对应了输入和输出流,流又分成字节和字符流。<br> 1:从对文件的操作来讲,有读和写的操作——也就是输入和输出<br> 2:从流的流向来讲,有输入和输出之分<br> 3:从流的内容来讲,有字节和字符之分 操作文件的时候关键点在于: 1:如何拿到过文件——构建文件输出流 2:如何开始读文件 3:如何判断文件已经结束了 4:读文件的过程中如果想做一些特殊处理,怎么来处理,另外,就是不同的字符编码集,读取的时候需要使用适合的字符编码集来转换程对应的字符。
    查看全部
  • 关于0xff:
    查看全部
  • 中文机器上创建的文本文件只能识别ansi编码 如果是由其他地方创建的文本文件 再拷贝出来的则可以识别任意的编码 UTF-8编码 汉字占3个字节 英文占一个 gbk编码 汉字占2个字节 英文占1个 UTF-16be编码是java中的编码 汉字和英文都是占两个字节 .getBytes();将字符串变成byte类型 integer.toHexString();将字节流变成16进制的int类型 用什么编码将字符串变成字节流 就要用同样的编码才能将其变回去 new String(“dd”,"UTF-8");
    查看全部
    1 采集 收起 来源:文件的编码

    2018-03-22

  • list()方法用于列出当前目录下的子目录和文件。如果要遍历子目录下的内容就需要构造成File对象做递归操作。 File[] files = dir.listFiles();//返回的是直接子目录(文件)的抽象 if (File file : files){ //递归 listDirectory(file);//本方法 }else { System.out.println(file); }
    查看全部
    1 采集 收起 来源:遍历目录

    2015-01-13

  • IO流读取
    查看全部
  • 其他的不说,指一下讲错的地方。<br> 直接贴一下主要的程序<br> int len = 0;<br> byte[] buf = new byte[64];<br> //缓冲类的意义在于使用的字节数组不必很大,使用适当大的byte数组的Buffered方法,就可以与超过缓冲区大小(比如1M大)的byte数组的普通copyFile方法的效率相当。<br> while((len = bis.read(buf)) != -1){<br> bos.write(buf,0,len);<br> //此处不要加flush,否则会失去缓冲的意义<br> }
    查看全部
    1 采集 收起 来源:字节缓冲流

    2018-03-22

  • 序列化时都得继承Serializable 接口。 加 transient 关键字不会进行默认的序列号。
    查看全部
  • 文件的异常有 IOException 抛出的异常 IllegalArgumentException(); file.list() 返回当前目录下的子目录和文件的字符串数组名称 file.listFiles() 返回当前目录下的所有子目录和文件的文件数组名称 public static void listDirectory(File dir) throws IOException{ if(!dir.exist()){ throw new IllegalArgumentException("目录:"+dir+"不存在"); } if (!dir.isDirectory) { throw new IllegalArgumentException(dir+"不是目录"); } String[] filenames=dir.list(); //返回的是字符串数组 直接子的名称不包含子目录下的内容 for (String string:filenames){ system.out.println(dir+"\\"+string); } //如果要遍历子目录下的内容 需要构造File对象做递归操作, File提供了直接返回File对象的API File[] files=dir.listFiles(); //返回的是直接目录(文件)的抽象 foreach后仍为子目录 if (files!=null && files.length>0) { //说明有子目录存在 for(File file:files){ if (file.isDirectory()){ listDirectory(file); } else { system.out.println(file); } main FileUtils.listDirectory(new File("e:\\example")); //打印出目录下所有的文件名 没有子目录
    查看全部
    1 采集 收起 来源:遍历目录

    2018-03-22

  • 一个类实现了序列化,其子类也可以序列化
    查看全部
  • tostring方法?
    查看全部
  • //反序列化 ObjectInputStream ois = new ObjectInputStream( new FileInputStream(file)); Student stu = (Student)ois.readObject(); System.out.println(stu); ois.close();
    查看全部
  • IO流(输入流、输出流) 1、字节流 1)InputStream抽象了应用程序读取数据的方式; OutputStream抽象了应用程序写出数据的方式; 2)EOF=End 读到-1就读到结尾; 3)输入流基本方法: int b=in.read();//读取一个字节无符号填充到int低八位,-1是EOF in.read(byte[] buf); in.read(byte[] buf,int start,int size) 4)输出流基本方法 out.write(int b); //写出一个byte到流,b的低八位 out.write(byte[] buf);//将buf字节数组都写入到流 out.write(byte[] buf,int start,int size)
    查看全部

举报

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

微信扫码,参与3人拼团

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

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