您的位置:首页 > 职场人生

黑马程序员--java高级视频输入、输出流(1)

2011-06-04 18:37 183 查看
学习笔记:
1.File类
File类:是IO包中唯一代表磁盘文件本身信息的类,而不是文件中的内容。
File类定义了一些与平台无关的方法来操纵文件,比如: 创建文件、删除文件、复制文件等等。
构造方法
public File(String path);
public File(String path,String name);
public File(File parent,String chile);
路径问题: java可以正确处理不同系统下的路径分隔符
在不同的操作系统上,分隔符是不一样的,在Unix下的路径分隔符为(/),
在Dos下的路径分隔符为(/)

下面是个例子:要完成的功能:判断某个文件是否存在,存在则删除,不存在则创建。

public class FileTest{
public static void mian(String [] args){
//创建对象
File file = new File("aa.txt");
if(file.exists()){
//删除
file.delete();
}else{
//创建
file.createNewFile();
}
System.out.println(file.getName);
System.out.println(file.getPath);
}
}

2.RandomAccessFile类
RandomAccessFile类:提供了众多的文件访问方法。支持“随机访问”方式,且仅限于操作文件
创建一个RandomAccessFile对象
RandomAccessFile(File file,String mode) ;
RandomAccessFile(String name,String mode);

读写数据的常用方法:
读、写基本数据类型: readInt();writeInt(int n)等;
读、写UTF字符串: readUTF();writeUTF(String str);
读 取文件中的一行: readLine();
下面的例子: 往文件里写三名员工的信息,第个员工含有姓名和年龄两个属性,
然后按照第二名,第一名, 第二名 的先后顺序读出员工信息。

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class Employee {
public String name=null;

public int age=0;

//public static final int LEN = 8;

public Employee(String na, int ag){

this.name=na;
this.age=ag;
}
public static class RandomFileTest{
public static void main(String[] args) throws IOException{
Employee emp1 =new Employee("张三",22);
Employee emp2 =new Employee("李四",23);
Employee emp3 =new Employee("王五",20);

RandomAccessFile raf = new RandomAccessFile("aa.txt","rw");

raf.write(emp1.name.getBytes());

raf.write(emp1.age);

raf.write(emp2.name.getBytes());

raf.write(emp2.age);

raf.write(emp3.name.getBytes());

raf.write(emp3.age);
raf.close();

int len=0;
byte[] buf =new byte[8];
RandomAccessFile rand = new RandomAccessFile("aa.txt","r");
rand.skipBytes(12);
len=rand.read(buf);
String strName = new String(buf,0,len);
System.out.println(strName+raf.read());

rand.seek(0);
len=rand.read(buf);
strName = new String(buf,0,len);
System.out.println(strName+raf.read());

rand.skipBytes(12);
len=rand.read(buf);
strName = new String(buf,0,len);
System.out.println(strName+raf.read());

rand.close();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐