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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰

最新回答 / Ivershens
Ctrl+再用鼠标点击需要查看源码的元素即可

最赞回答 / 好学的小橙子
read()返回的是读取的字节数,write()是写入文件的字节数,需要的就是c是int型,你想怎么变

已采纳回答 / 发呆的阿呆
这里的数组应该相当于缓存   

已采纳回答 / 好帮手慕珊
不是一次性都读取到buf数组中,看下面的代码第5行,通过read方法读到buf数组中,buf数组满了就进行处理(转换成16进制显示),然后再接着读,直到读到文件末尾为止。FileInputStream in = new FileInputStream("e:\javaio\1.mp3"); byte[] buf = new byte[8 * 1024];  int bytes = 0;  int j = 1;  while((bytes = in.read(buf,0,buf.length))!=-1)...

最赞回答 / 源代码_思无邪
建立数组进行读文件,就是为了读取文件内容时快一些而己,不管你建多大的数组(当然还受内存大小影响),总会有你一次读不了的文件。你首先要明白你读文件是为了干什么?有没有必要一次将文件都读到流中,象老师讲的例子:复制文件,或者是将大文件分割再合成等就没有必要一次将文件读到流中呀。一次性读不完,老师的例子里说得很清楚了呀:就是那个while((b=in.read(buf, 0, buf.length))!=-1)语句,没有读完就一直循环,只到读到文件尾。

已采纳回答 / 好帮手慕珊
写入顺序和读取顺序一致即可,见下面的代码,在老师代码的基础上加了一个age1属性,用transient修饰package com.imooc.io;import java.io.Serializable;public class Student implements Serializable{ private String stuno; private String stuname; //该元素不会进行jvm默认的序列化,也可以自己完成这个元素的序列化 private transient int stua...

最赞回答 / 小王子抓猫咪
楼上的回答不正确,正确的答案:int是4个字节,long和double都是8个字节。writeChars方法采用UTF16编码,一个汉字是2个字节。writeUTF方法采用UTF8编码,一个汉字是3个字节。所以计算出34个字节,那么多余的2个字节是从哪里来的呢?告诉你,是从WriteUTF方法得来的2个字节。请看API:void writeUTF(String s) throws IOException将表示长度信息的两个字节写入输出流,后跟字符串 s 中每个字符的 UTF-8 修改版表示形式。如果 s ...

最新回答 / needself
10几分钟还走神,你也是需要好好约束一下自己。
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消