package New_IO;
import New_Test.Te;
import java.io.RandomAccessFile;
/**
-
文件的随意读写
*/
public class Test6 {
public static void main(String[] args) {
try {
// Test6.testRandomAccessFile();
Test6.testRandomAccessFileWrite();
} catch (Exception e) {
e.printStackTrace();
}}
/**
- 随机读文件
*/
public static void testRandomAccessFile() throws Exception{
//RandomAccessFile 的构造有两个参数,参数1是读写的文件的路径
//参数2指定的是访问模式
// r:以只读方式打开 常用
//rw:打开以便读取和写入 常用
//rwd:打开以便读取和写入;同步文件内容的更新
//rws:打开以便读取和写入;同步文件内容和元数据的更新
RandomAccessFile ra = new RandomAccessFile(“F:\Java_project_new\src\New_IO\tt7.txt”,“r”);
ra.seek(0);//设置读取文件内容的起始点 换行就会有换行符,换行符站2个字节位
byte [] b = new byte[100];
int len =0;
while ((len=ra.read(b))!=-1){
System.out.println(new String(b,0,len));
}
ra.close();
}
/**
- 随意写
*/
public static void testRandomAccessFileWrite() throws Exception{
RandomAccessFile ra = new RandomAccessFile(“F:\Java_project_new\src\New_IO\tt7.txt”,“rw”);
// ra.seek(0);//设置写的起始点 0代表从开头写
ra.seek(ra.length());//设置写的起始点,ra.length()代表从文件的最后结尾写,也就是文件的追加
//注意:如果是在文件开头或者中间的某个位置开始写的话,就会用写的内容覆盖掉等长度的原内容
String str = “Don’t let your past determine the future.\n” +
“别让你的过去决定你的未来。”;
ra.write(str.getBytes());
ra.close();
}
- 随机读文件
}