-
字符数组变换成字符串,new String(bug,0,bug.length)查看全部
-
函数传递参数看前面查看全部
-
文件的IO查看全部
-
1字符流操作的都是文本文件查看全部
-
父类显示调用查看全部
-
transient查看全部
-
对象的序列化查看全部
-
字符流的过滤器查看全部
-
字符流查看全部
-
字符流查看全部
-
字符流查看全部
-
IO流查看全部
-
IO流查看全部
-
注意write方法每次只能写入一个字节: raf.write('A');//此时指针后移 System.out.println(raf.getFilePointer());此时输出为1 这时只写入了一个字节而不是完整的char,只是因为后八位刚好能够表示A raf.write('B'); 若要写入一个整数i则需要写四次 int i=0x7fffffff; raf.write(i>>>24);//高八位 raf.write(i>>>16); raf.write(i>>>8); raf.write(i);//写入最低的八位 System.out.println(raf.getFilePointer()); 此时打印输出6 可以直接写入一个int raf.writeInt(i); String s="中"; byte[] gbk=s.getBytes("gbk"); raf.write(gbk); System.out.println(raf.length(0); 此时打印输出12(中文占俩字节) 读文件,必须把指针移到头部 raf.seek(); //一次性读取: 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); System.out.println(s1,"gbk"); 打印输出AB????? 因为“中”的前后都有字节,只有定位到中的两个字节,才能读出他 最后要加上raf.close();查看全部
-
IO流查看全部
举报
0/150
提交
取消