IO输入与输出1
2011-01-23 00:09
169 查看
IO输入与输出(一)
1.键盘被当做一种特殊的输入文件使用,I代表的是键盘,显示器被当做一种特殊的输出文件使用,即O代表的是显示器;
2.file类io包中唯一代表磁盘文件本身信息的的类,而不是文件中的内容,比如说文件的创建时间,而且定义了一些与平台无关的方法来操作文件;
3.file中定义了一些常用方法,不如查看文件名称,文件路径等等,下面有一个例子(判断某个文件是否存在,如果存在就将它删除,如果不存在就将它删除)。
package com.hjw;
import java.io.File;
import java.io.IOException;
public class FileTest {
/**判断一个文件是否存在,如果存在就删除,
* 如果不存在就创建此文件
* @param args
*/
public static void main(String[] args) {
fileTest();
}
private static void fileTest(){
File f=new File("aa//a.txt");
if(f.exists()){
f.delete();
}else{
try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("fileName:"+f.getName());
//得到文件的相对路径
System.out.println("filepath:"+f.getPath());
//得到绝对路径下的文件
System.out.println("AbsoluteFile:"+f.getAbsoluteFile());
//得到文件的上一级
System.out.println("parent:"+f.getParent());
//得到文件上一级的相对路径
System.out.println("parentFile:"+f.getParentFile());
System.out.println("AbsolutePath:"+f.getAbsolutePath());
System.out.println(f.exists()? "exist":"not exist");
System.out.println(f.canRead()? "read":"not read");
System.out.println(f.canWrite()? "write":"not write");
//判断f是否是一个目录
System.out.println(f.isDirectory()? "directory":"not directory");
System.out.println();
}
}
4.java中有个RandomAccessFile类
a)RandomAccessFile类提供了众多的文件访问方法;
b)RandomAccessFile类支持随机访问方式,从指示器指示的当前位置开始;
c)RandomAccessFile类在读写等长记录格式的文件时有很大的优势;
d)RandomAccessFile类仅限于操作文件,不能访问其他的io设备,
e)RandomAccessFile类两种构造方法:
new RandomAccessFile("f","rw");//读写方式
new RandomAccessFile("f","r");//只读方式
例子:(通过RandomAccessFile类对文件进行读写操作)
public static void main(String[] args) {
// 定义三条记录
Employee e1 = new Employee("zhangsan", 23);
Employee e2 = new Employee("lisi", 22);
Employee e3 = new Employee("wangwu", 21);
try {
// 把内容通过randomAccessFile写入到文件中
RandomAccessFile ra = new RandomAccessFile("employee.txt", "rw");
ra.write(e1.getName().getBytes());
ra.writeByte(e1.getAge());
ra.write(e2.getName().getBytes());
ra.writeByte(e2.getAge());
ra.write(e3.getName().getBytes());
ra.writeByte(e3.getAge());
ra.close();
// 把文件读出来
byte[] bt = new byte[8];
int len = 0;
String strName = null;
RandomAccessFile raf = new RandomAccessFile("employee.txt", "r");
raf.skipBytes(9);
len = raf.read(bt);
strName = new String(bt, 0, len);
System.out.println(strName + ":" + raf.read());
raf.seek(0);
len = raf.read(bt);
strName = new String(bt, 0, len);
System.out.println(strName + ":" + raf.read());
raf.skipBytes(9);
len = raf.read(bt);
strName = new String(bt, 0, len);
System.out.println(strName + ":" + raf.read());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
相关文章推荐
- 黑马程序员-JAVA高级视频_IO输入与输出-19天-6(LineNumberReader与自定义LineNumberReader)
- java.io 通过数据流、序列化和文件系统提供系统输入和输出
- 黑马程序员_IO输入与输出(1)
- IO-概述-输入和输出
- 标准IO之格式化输入和输出
- JAVA高级视频_IO输入与输出 思考与练习 学习笔记
- 2 curses库IO处理--输入/输出函数
- 输入输出处理(IO)(备忘)——下
- IO输入与输出--处理流--03
- 黑马程序员——IO输入与输出(一)
- 黑马程序员-JAVA高级(IO输入与输出)PART4
- 【黑马程序员】黑马入学准备篇:IO输入与输出 【上】
- IO 输入与输出(6) -- PrintStream
- 输入和输出(IO)概述
- java学习笔记IO输入与输出——IO流概述及字节流(2)
- Java.io包中的流的输入输出详解1(字节流)
- JAVA高级视频02_IO输入与输出日记1(02-01到02—03)
- 黑马程序员--IO输入与输出(一)
- 黑马程序员——Java基础——IO输入与输出_2
- java基础(12)- java的输入/输出(IO)包(2)