IO流之RandomAccessFile和File
通过学习一些经典案例来复习基础
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
RandomAccessFile类:
含义和使用场景:随机访问数据的一个类,可以跳转到任意位置来进行数据读写;
常用方法:
RandomAccessFile类为用户提供了两种构造方法:
1、RandomAccessFile(File file, String mode) // File指代文件,mode是指可以操作的状态,分别是r w rw...表示读写;
2、RandomAccessFile(String name, String mode) //name指代文件名
eg:
RandomAccessFile raf0 = new RandomAccessFile("D:/employee.txt", "rw");
void close(): 关闭文件访问流,及其相关的系统资源;
int read():在此文件中读取一个数据字节;
int read(byte[] b): 按字节读取,并返回到字节数,若到末尾则返回-1;
void seek(long pos): 重要,设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作;
.........
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public byte[] getBytes(Charset charset):使用给定的字符集的字节序列将此String解码,并将结果存储到一个新的字节数组。
eg:
package ts;
import java.io.UnsupportedEncodingException;
public class test2 {
public static void main(String[] args) throws UnsupportedEncodingException {
String s = "浣犲ソ"; //"你好"的gbk编码的字符串
String ss = new String(s.getBytes("GBK"), "UTF-8");
String sss = new String(s.getBytes("gbk"));
String s4=new String(s.getBytes("UTF-8"));
System.out.println(ss);
System.out.println(sss);
System.out.println(s4);
}
}
//对字符串按照 charsetName 进行编码(unicode→charsetName),返回编码后的字节。
//getBytes() 表示按照系统默认编码方式进行。
//你好
//你好
//浣犲ソ
数组扩容:
Arrays.copyOf(原始数组,数组的新长度);
package ts;
import java.util.Arrays; public class test {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOf(arr1, 5);
int[] arr3 = Arrays.copyOf(arr1, 6);
for(int i = 0; i < arr2.length; i++)
System.out.print(arr2[i] + " ");
System.out.println();
for(int i = 0; i < arr3.length; i++)
System.out.print(arr3[i] + " ");
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
File类:
常用api :创建文件、删除文件、判断、获取文件相关消息;
IO流之RandomAccessFile和File的更多相关文章
- IO流基础,创建File对象与方法是用
1.io流主要用途读取本地文件或服务器文件,进行本地或者服务器开呗工作 构造函数 绝对路径够构造方法: File f = new File("D:\\test\\a.txt&quo ...
- java IO流 (一) File类的使用
1.File类的理解* 1. File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)* 2. File类声明在java.io包下* 3. File类中涉及到关于文件或文件目录的创建.删除.重 ...
- 【Java IO流】RandomAccessFile类的使用
RandomAccessFile类的使用 RandomAccessFile类是java提供的对文件内容的访问,既可以读文件,也可以写文件. 支持随机访问文件,可以访问文件的任意位置. RandomAc ...
- JAVA学习第五十二课 — IO流(六)File对象
File类 用来给文件或者目录封装成对象 方便对文件与目录的属性信息进行操作 File对象能够作为參数传递给流的构造函数 一.构造函数和分隔符 public static void FileDemo( ...
- Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例(File类的文件过滤器方法改进list( FilenameFilter ff))
1. 案例: 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名. 2. 案例代码如下: (1)思路是:先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输 ...
- [javaSE] IO流(RandomAccessFile)
随机访问文件,可以看作一个大型的byte[]数组,不算是IO体系中的一员,内部封装了字节输入输出流,可以设置权限,可以调整指针的位置 获取RandomAccessFile对象,构造参数:String文 ...
- IO流(一)File类
1.File类:表示文件和目录路径的抽象的表示形式,可以实现文件的创建,删除,重命名等,是唯一与文件本 有关的操作类. 2.File类的API定义:public class File extends ...
- Java基础知识强化之IO流笔记09:File类功能
详见如下: Android(java)学习笔记87:File类使用
- IO流(1)File类构造方法
构造方法: * File(String pathname):根据一个路径得到File对象 * File(String parent, String child):根据一个目录和一个子文件/目录得到Fi ...
随机推荐
- goroutine 分析 协程的调度和执行顺序 并发写
package main import ( "fmt" "runtime" "sync" ) const N = 26 func main( ...
- How to derive mean and variance of a Gaussian?
PRML exercise 1.8: To derive mean: change of variable z = x - u, use symmetry To derive variance: di ...
- AtomicInteger 源码分析
AtomicInteger AtomicInteger 能解决什么问题?什么时候使用 AtomicInteger? 支持原子更新的 int 值. 如何使用 AtomicInteger? 1)需要被多线 ...
- SpringBoot设置SORS的几种方式
1. 原生支持 Application 启动类添加以下代码: import org.springframework.context.annotation.Bean;import org.springf ...
- django小知识
def __str__: return self.name 在显示的时候,将原来显示的额object对象,显示成这个类的名字
- 解决Nginx反向代理不会自动对特殊字符进行编码的问题 如gitblit中的~波浪线
问题起因是利用Nginx做反向代理的时候,需要访问如下链接http://192.168.14.141/iserver/services/3D-0524hd/rest/realspace/datas/0 ...
- dict用法
1 dict.items() https://www.runoob.com/python3/python3-att-dictionary-items.html 2 setdefault的用法 注意se ...
- centos 7 lnmp环境编译安装zabbix-3.4.14
一.安装环境(zabbix3.0需要php在5.5版本以上) [root@localhost ~]# cat /etc/redhat-release CentOS Linux release (Cor ...
- (136)leetcode刷题Python笔记——只出现一次的数字
题目如下: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: ...
- 如何创建Windows虚拟机
Windows虚拟机搭建 第1步:运行"Vmware WorkStation",看到主页面,创建新的虚拟机 第2步:新建虚拟机向导——典型(推荐) 第3步:选择光盘映像文件 第4步 ...