已采纳回答 / 律生息
一切都是由于BOM当我们直接在记事本中直接创建文本文件,不使用另存为那么文本文件默认以ansi编码来保存文字信息,却没有给他加上BOM,(BOM)就是该文本编码格式的标记,用来告诉记事本(或者其他软件这里面的内容有什么编码来解析)另存为这个过程就是加了BOM你没有另存为就没有BOM那么问题来了记事本说“mdzz,这到底要我怎么解析呢?没办法,一个个试吧,诶!“由于默认的联通,联,在用ANSI保存时,编码格式类似UTF-8,所以解析为utf-8,而联想不符合utf-8编码规则于是乎内容就生气了“。。。。。。...
2017-02-05
最新回答 / 幻想君
你的问题是针对教学视频中的代码所产生的疑惑么?如果是......那么第一个问题:当dir不存在的话,方法第一步 if(!dir.exists())就抛出异常了,更不会使dir.listFiles()返回值为null第二个问题:length()是返回长度的,以字节为单位的,如果路径名表示一个目录,则返回值是不确定的,若表示一个文件且不存在,则返回0第三个问题:如果进行了递归,若子目录下没有文件,那并不会引发异常,通过if(files!=null&&files.length>0)后直接打...
2017-02-05
最赞回答 / 114孢
while没错 对象.read(byte[] b, int off, int len);//方法是这样的:从对象中读取len个字节放进b中,每次从b中off位置开始放,.但是老师对于这块有一个问题没讲清,我的理解是:文件指针从0开始读取,每次读取,指针后移一次,读取完一组字节,此时指针已经移动到了下一个未读取的位置,下次while循环时,从指针的位置继续读取,往放入b中 从b的off位置又开始放,知道放满,每次循环。当read方法读取到结尾时,返回值为-1,bytes接受该返回值,作为循环结束条件。(...
2017-02-04
不错,if(buf[i]<=0xf)是有问题,所以应该改成if(buf[i]<=0xf && buf[i] >=0)增加对负数的排除!
2017-02-04
Buffered*Stream 的read和write方法都是一个字节一个字节的处理,与File*Stream的批处理没有可比性
最新回答 / NPC2049
贴代码上来。。你的问题应该是IO流中的用读写类拷贝文件的操作。问题原因应该是粗心。。可能是:要拷贝的源文件路径写成了要拷贝到的路径如: 源文件: F:/a.txt 拷贝到: F:/b.txt你写成了: 源文件: F:/b.txt 拷贝到: F:/b.txt或者是:要拷贝的源文件路径写成了源文件路径如: 源文件: F:/a.txt 拷贝到: F:/b.txt写成了: 源文件: F:/a.txt 拷贝到: F:/a.txt从头仔细查看...
2017-01-24