已采纳回答 / 圊涩的苹果
跟直接输出字符数组的结果是不一样的。至于为什么要转换成字符串输出个人认为是因为是如果是你单单拿字符数组来输出的时候由于字符数据之间没有明显的分隔的界限,导致输出的字符是不一致的。而c是返回的是读到的字符的个数,用String来转换成所读到的字符来输出就可以很明显的分隔出来。以上只是个人愚见,有些地方说的可能不太清楚,欢迎来指正与讨论
2016-05-05
已采纳回答 / Jaylin_
在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...
2016-04-27
最新回答 / qq_飞鸟_3
文件的存取你可能都清楚吧。都是字符,字符之间没有逻辑联系。而对象就不一样了,对象里面有结构关系,例如成员变量,成员方法,内部类。这时候按照文件那种方式存取,就没法保留结构关系了。存取,传输都需要这样。
2016-04-22
已采纳回答 / 慕粉3161473
int bytes = in.read(buf,0,buf.length);这个返回值,是你读到的实际个数,例如:你buf new的事1024,但是你文件中只要100个,bytes就= 100;如果文件超过1024字节,一次读会返回1024,第二次读的时候,指针从1024再开始读,每次1024个字节读,知道读完,所以bytes 返回值,要么是1024,要么是最后一次读到数据,但是不足1024,返回实际值,再读一次 就是EOF(结尾),返回-1
2016-04-20