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 ...
随机推荐
- ORA-00972
SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') as 日期时间 from dual;select to_char(sysdate,'YY ...
- DAY 5 上午
或者跑一个dp dp[i]表示总花费不超过i的情况下的最短路 dij套dp o(nk)个点 对于每一个点u,建立k+1个点表示到点u花费费用为i 比如u-->v长度为c u,0-->v,c ...
- 个性化对待亚马逊不同站点 使用 Python 进行线程编程
# -*- coding: UTF-8 -*- import threading import time exitFlag = 0 class myThread (threading.Thread): ...
- 设计模式-Runoob:设计模式
ylbtech-设计模式-Runoob:设计模式 1.返回顶部 1. 设计模式 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用.设计模式是软件开发 ...
- windows 10中使用命令行关掉占用指定端口的程序
通过netstat -ano与findstr命令结合查询到带有9080端口的监听信息,图中最后一列为监听程序的PID 通过tasklist命令与findstr命令结合查询到指定PID对应的应用程序 使 ...
- 011-Spring Boot 运行流程分析SpringApplication.run
一.程序入口 1.1.静态方法 //直接调用run方法 ConfigurableApplicationContext context = SpringApplication.run(App.class ...
- 桌面应用开发用到的Framework
桌面应用开发用到的Framework https://github.com/zhangqs008/Framework_Winform
- tbox新增stackless协程支持
tbox之前提供的stackfull协程库,虽然切换效率已经非常高了,但是由于每个协程都需要维护一个独立的堆栈, 内存空间利用率不是很高,在并发量非常大的时候,内存使用量会相当大. 之前考虑过采用st ...
- Java{0}占位符替换字符串
Java{0}占位符替换字符串 public class Test { public static void main(String[] args) { System.out.println(Stri ...
- [Codeforces 1191D] Tokitsukaze, CSL and Stone Game(博弈论)
[Codeforces 1191D] Tokitsukaze, CSL and Stone Game(博弈论) 题面 有n堆石子,两个人轮流取石子,一次只能从某堆里取一颗.如果某个人取的时候已经没有石 ...