-
//批量读取,对大文件而言效率高,也是也是我们最常用的读文件的方式查看全部
-
按位与的作用查看全部
-
记住了查看全部
-
String s="慕课ABC"; byte[] bytes1=s.getBytes();//这是把字符串转换成字符数组,转换成的字节序列用的是项目默认的编码 for(byte b: bytes1) System.out.println(Integer.toHexString(b & 0xff)+" ");// & 0xff是为了把前面的24个0去掉只留下后八位 //toHexString这个函数是把字节(转换成了Int)以16进制的方式显示 byte[] bytes1=s.getBytes("gbk");//也可以转换成指定的编码 gbk编码: 中文占用两个字节,英文占用一个字节 utf-8编码:中文占用三个字节,英文占用一个字节 java是双字节编码,是utf-16be编码 utf-16be编码:中文占用两个字节,英文占用两个字节 当你的字节序列是某种编码时,这个时候想把字节序列变成字符串,也需要用这种编码方式,否则会出现乱码 String str1=new String(bytes4);//这时会使用项目默认的编码来转换,可能出现乱码 要使用字节序列的编码来进行转换 String str2=new String(bytes4,"utf-16be"); 文本文件就是字节序列,可以是任意编码的字节序列 如果我们在中文机器上直接创建文本文件,那么该文件只认识ANSI编码(例如直接在电脑中创建文本文件)查看全部
-
java I/O流查看全部
-
int b=in.read();读取一个字节无符号填充到int的低八位,前面的24位补零。(int是32位,一个字节8位)-1是EOF 鼠标右键 source-format 可以格式化代码查看全部
-
FileInputStream是其子类,实现了在文件上读取数据查看全部
-
RandomAccessFile支持随机访问,可以访问文件的任意位置 <1> java文件模式 在硬盘的文件是byte byte byte 存储的,是数据的集合 <2> 打开文件 有两种模式"rw"(读写) "r"(只读) RandomAccessFile raf = new RandomAccessFile(file,"rw") 文件指针,打开文件时指针在开头pointer = 0; <3> 写方法 raf.write(int)--->只写一个字节(后8位),同时指针指向下一个位置,准备再次写入 <4> 读方法 int b = raf.read()--->读一个字节 <5> 文件读写完成以后一定要关闭(Oracle官方说明)查看全部
-
注意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流(输入流,输出流):字节流,字符流 字节流:InputStream(读取数据的方法),OutputStream(写出数据的方式) EOF = End 读到-1结尾 输入流基本方法: int b = in.read() 输出流:将read改为write in.read(byte[] buf) in.read(byte[] buf,int start,int size) FileInputStream---->具体实现在文件上读取数据查看全部
-
RandomAccessFile java提供的对文件的访问,即可读文件,也可写文件 RandomAccessFile支持随机访问文件,可以访问文件的任意位置 java文件模式 在硬盘的文件是byte byte byte 存储的,是数据的集合 打开文件 : rw 读写 r只读 RandomAccessFile raf = new RandomAccessFile(file,"rw");//要指定读写方式 文件指针,打开文件时指针在开头pointer = 0;随着读写操作指针后移 写方法 raf.write(int)只写一个字节(后八位)同时指针指向下一个字节位置准备下一次写入 读方法 int b=raf.read()读一个字节 文件读写完成之后一定要关闭:raf.close();查看全部
-
file.list() 返回的是 字符串数组 直接子的名称,不包含子目录下的内容 file.listFiles() 返回当前目录下的所有子目录和文件的文件数组名称查看全部
-
RandomAccessFile java提供的对文件的访问,即可读文件,也可写文件 RandomAccessFile支持随机访问文件 打开文件:“rw”读写 “r”只读 eg:RandomAccessFile raf = new RandomAccessFile(file,"rw") 写方法: raf.write(int) 只写一个字节,指针指向下一位 读方法: int b = raf.read() 读一个字节 关闭文件:raf.close();查看全部
-
RandomAccessFile支持随机访问,可以访问文件的任意位置。 <1> java文件模式 在硬盘的文件是byte byte byte 存储的,是数据的集合 <2> 打开文件 有两种模式"rw"(读写) "r"(只读) RandomAccessFile raf = new RandomAccessFile(file,"rw") 文件指针,打开文件时指针在开头pointer = 0; <3> 写方法 raf.write(int)--->只写一个字节(后8位),同时指针指向下一个位置,准备再次写入 <4> 读方法 int b = raf.read()--->读一个字节查看全部
-
File[] bianLiFile=files.listFiles() listfile方法返回当前对象目录下的所有东西 (仅仅一层) ff.isDirectory() 判断是不是目录 files.exists() 判断文件是否存在查看全部
举报
0/150
提交
取消