-
建议大家在try{}catch{}finally{}中的finally中关闭流查看全部
-
FileOutputStream、DataOutputStream、BufferedOutputStream的对比 BufferedOutputStream的性能最好查看全部
-
dos.writeChars()写入的字符串,怎么读出 char c=dis.readChar();//一次只能取一个char‘中’ System.out.print(c); c=dis.readChar();//取‘国’ System.out.print(c);查看全部
-
00 06这两个两个字节代表写入的字符串长度信息(即中国两个汉字总共占6个字节)。查看全部
-
writeUTF()和writeChars()的区别查看全部
-
DataOutputStream/DataInputStream 对“流”功能的扩展,可以更加方面的读取int,long,字符等类型数据 有writeInt()/writeDouble()/writeUTF()查看全部
-
如果该文件不存在,则直接创建,如果存在,删除后创建 但如果跟上true参数则,在文件后追加查看全部
-
FileOutputStream实现了向文件中写出byte数据的方法查看全部
-
批量字节读取适合于大文件,效率高查看全部
-
&0xff的原因:byte类型8位,int类型32位,为了避免数据转换错误,通过&0xff将高24位清零查看全部
-
输出流的基本方法 out.write(int b) out.write(byte[] buf) out.write(byte[] buf,int start,int size)查看全部
-
IO流中输入流的基本方法 int b = in.read(); in.read(byte[] buf); in.read(byte[],int start,int size);查看全部
-
File demo = new File("demo"); if(!demo.exists()) demo.mkdir();//创建demo目录 File file = new File(demo,"raf.dat"); if(!file.exists()) file.createNewFile();//在demo目录下,创建raf.dat文件 //打开文件,进行随机读写 RandomAccessFile raf = new RandomAccessFile(file, "rw"); raf.write('A');//只写一个字节,同时指针后移 System.out.println(raf.getFilePointer());//输出:1 raf.write('B'); //若要写入一个整数i则需要写四次 int i=0x7fffffff; raf.write(i>>>24);//高八位 raf.write(i>>>16); raf.write(i>>>8); raf.write(i);//低八位 //也可直接写入一个int raf.writeInt(i); //写入汉字 String s="中"; byte[] gbk=s.getBytes("gbk"); raf.write(gbk); System.out.println(raf.length(0);//输出:12(中文占俩字节) //读文件时必须把指针移到头部 raf.seek(0); //一次性读取 byte[] buf= new byte[(int)raf.length()]; raf.read(buf); System.out.println(Arrays.toString(buf)); //此时打印输出:[65,66,127,-1,-1,-1,127,-1,-1,-1,-42,-48] //开头的65,66是正确的AB,因为后八位已经能表示AB了 //也可按字符串输出 String s1=new String(buf,"gbk"); System.out.println(s1);//输出:AB?????(因为“中”的前后都有字节,只有定位到中的两个字节,才能读出它) raf.close();//最后要加上查看全部
-
RandomAccessFile的用法查看全部
-
length()方法返回的是由此抽象路径名表示的文件的长度,而上面的dir.listFiles(),它返回的是一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件,所以if里面的判断,一个是判断文件,一个是判断文件长度,所以才要如此。查看全部
举报
0/150
提交
取消