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

文件传输基础——Java IO流

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

最赞回答 / 宋杰
第一:你首先要搞明白编码问题。编码说白了解决的就是字符如何转换成字节(编码)以及字节如何转换成字符(解码)。第二:java IO分为字节流和字符流。字节流和字符流都有很多的实现类,用于不同的场景。第三:为了性能和方便性等考虑,java IO使用的装饰者模式对一些类进行了装饰。如果不知道装饰者模式,请先了解一下。

最赞回答 / 高恒博
你文件里面之前有你内容,你删除文件重新运行一遍就可以了。

最新回答 / helloworld2008
你是两个并列的if语句,又不是if else语句,执行前者就不执行后者。。。你的两个if语句都会执行,【文件目录不存在,创建目录;文件不存在,创建文件】

最赞回答 / lucitas
你file是不是指定的路径中有多个不存在的目录,然后你再用createNewFile方法想创建这个文件。这样貌似会抛出异常。你得先用mkdirs创建多级目录再用createNewFile方法才可以成功创建文件

最新回答 / 慕后端2198842
因为你存进去的是对象的序列化信息,是以一定的特殊方式转换成字节码存进去的,但是你直接打开文件的时候,是以文档的形式查看的,识别不了就乱码了

最新回答 / Zoya
imooc.txt文件里面的字节拷贝到imooc1.txt文件

最赞回答 / meersun
char c=dis.readChar();//一次只能取一个char‘中’System.out.print(c);c=dis.readChar();//取‘国’System.out.print(c);

最赞回答 / 煎饼学徒
<...图片...>因为文件在输入的时候是第一次输入了一个10,第二次输入了-10,两个都为 int 型  ,为了读取这两个数,就需要:int i = dis.readInt();System.out.println(i);i = dis.readInt();System.out.println(i);而...

最新回答 / qq电子时代
因为dir为参数  在递归for循环中需要传输的参数已经不再是dir了,而是新定义的参数名称File[] files=dir.listFiles(); if(files!=null && files.length>0){ for(File file:files){ if(dir.isDirectory()){ listDirectory(file);在此,这个file才是最新的参数,

最新回答 / 启铭星
把if的判断条件再限制严格一点,改为 if(buf[i] <= 0xf && buf[i] >= 0x0) 出现3位的都是最高位为1的,被识别为有符号的负数,肯定小于0xf了

最新回答 / NBAFifa
两个new创建了两个File对象,作为参数传给copyFileByByte

最新回答 / 梁XX
数组需要先初始化(确定数组存储长度才能进行赋值--相对于集合Collection的缺点),再赋值<...code...>
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消