已采纳回答 / 深天
Stirng file =“demo/obj.dat" 这里仅仅是创建了一个字符串,并没有当做文件用。还有File file="demo/obj.dat";这种创建文件对象的方法是完全错误的,正确写法是这样的:File file=new File("demo/obj.dat");回到刚才"为什么后来可以当做一个文件用":同上一句话可以改写成File file01 =new File(file); //这里的的file引用上面的字符串即我们做的只是对字符串的引用,然后创建了一个文件对象,并没有说我们把它当...
2016-10-11
已采纳回答 / huangsai
这个方法的作用是把缓冲区的数据输出。一般在读写流的时候,数据是先被读到了内存中,再把数据写到文件中,当数据读完的时候不代表数据已经写完了,因为还有一部分有可能会留在内存这个缓冲区中。这时候如果调用了close()方法关闭了读写流,那么这部分数据就会丢失,所以应该在关闭读写流之前先flush()。
2016-10-11
已采纳回答 / niupizhi203522025
实际上并非是每次都产生异常,而是由于字符编码格式、文件是否存在等经常会发生异常,所以涉及到IO流或文件操作时,都要防止出现这样的异常,所以都要进行try/catch或抛除
2016-10-10
批量读取java文件时
int bytes=in.read(buf,0,buf.length)
然后用了一个for循环输出
for(int i=0;i<bytes;i++)
为什么要用bytes来控制循环次数,bytes的作用是什么
int bytes=in.read(buf,0,buf.length)
然后用了一个for循环输出
for(int i=0;i<bytes;i++)
为什么要用bytes来控制循环次数,bytes的作用是什么
2016-10-10
已采纳回答 / 慕函数7182242
bytes用来记录读入了多少个字节(in.read()的返回类型就是int,值为读的字节个数)in.read(buf,0,buf.length)用来读入,一次最多可以读buf.length个字节,但是并不是每次都读入了这么多个字节,(可能读的文件没这么长),所以是用bytes来控制循环结束的条件
2016-10-10