http://blog.csdn.net/Somnusxyb_许亚宾_http://blog.csdn.net/heima
来源:互联网 发布:淘宝贝高瞻幼儿园健达 编辑:程序博客网 时间:2024/05/22 17:02
一.io输入与输出..键盘对应i(输入),显示器对应o(输出)
1.file 不是文件的内容,代表磁盘文件本身信息的类 ,file类定义了一些与平台无关的方法来操作文件
如:增删该
2.分隔符:Unix中(/)、Dos(/),java可以处理Unix和Dos的路径分隔符
如:下例;
import java.io.File;
import java.util.Date;
public class FileTest {
public static void main(String[] args) {
File f=new File("1.txt");
//文件存在
try {
if (f.exists()) {
f.delete();//删除
}
else {
//穿件一个文件
f.createNewFile();
}
} catch (Exception e) {
e.printStackTrace();
}
//文件名
System.out.println("Filename"+f.getName());
//路径
System.out.println("Filepath"+f.getPath());
//绝对路径
System.out.println(f.getAbsolutePath());
//父路径..就是上一级的路径,如果没有返回null
System.out.println(f.getParent());
//文件是否存在
System.out.println(f.exists()?"exit":"not exist");
//文件是否可读
System.out.println(f.canRead()?"read":"not read");
//文件是否是目录
System.out.println(f.isDirectory()?"directory":"not directory");
//取出文件的修改时间。是long类型,打印的是长类型
System.out.println(f.lastModified());
//转换格式
System.out.println(new Date(f.lastModified()) );
}
}
二.RandomAccessFile类提供了许多文件访问方法,RandomAccessFile类支持“随机访问”方式,可以从任意一个位置开始读取文件...,指示器,可以跳到文件的任何一个位置,移到一个新的位置,,他就会从新的位置开始读取。。
在使用流的方式的时候,,必须安顺有序,一个字节一个字节的读取,,。。。随机读取,。可以跳转,
等长格式。。如:一条条的学生记录。。每条记录信息的内容长度一样。。。在信息中又可以分为若干字段。
可以跳转到某个员工的姓名处,读取很方便
RandomAccessFile类仅限于操作文件。。不能访问其他的io设备,。。RandomAccessFile类有两种构造方法:
new RandomAccessFile(f,"r w");//读写方式
RandomAccessFile(f,"r"); //只读方式
如:
import java.io.RandomAccessFile;
public class RandomFileTest {
public static void main(String[] args) {
// //不能用字节的方式写入姓名,,,应该用字符的方式写入
// Employee e1=new Employee("zhangsan", 238);
// Employee e2=new Employee("lisi", 24);
// Employee e3=new Employee("wangwu", 25);
//
// try {
// RandomAccessFile ra=new RandomAccessFile("emploee.txt", "rw");
// ra.write(e1.name.getBytes());
// ra.writeInt(e1.age);//写入一个直接,如果年龄很大大于一个字节,
// //内容就会丢失
// ra.write(e2.name.getBytes());
// ra.writeInt(e2.age);
//
// ra.write(e3.name.getBytes());
// ra.writeInt(e3.age);
// //关闭
// ra.close();
//
//
// byte[] buf=new byte[Employee.LEN];
// String strName;
// int len;
// //读取的时候重新从创建
// RandomAccessFile raf=new RandomAccessFile("emploee.txt","r");
// raf.skipBytes(Employee.LEN+4);//读取12个字节
// len=raf.read(buf);//读取文件中几个字节,最多可以读取八个字节
// //转换为字符串
// strName=new String(buf,0,len);
// //trim(),去掉空格
// System.out.println(strName.trim()+":"+raf.readInt());
//
// //seek绝对定位
// raf.seek(0);
// /*
// * 读取第一个员工
// */
// len=raf.read(buf);
// strName=new String(buf,0,len);
// System.out.println(strName.trim()+":"+raf.readInt());
//
// //读取第三个员工
// raf.skipBytes(Employee.LEN+4);
// len=raf.read(buf);
// strName=new String(buf,0,len);
// System.out.println(strName.trim()+":"+raf.readInt());
// raf.close();
// } catch (Exception e) {
// e.printStackTrace();
// }
//可以用中文
Employee e1=new Employee("张三", 238);
Employee e2=new Employee("lisi", 24);
Employee e3=new Employee("wangwu", 25);
try {
RandomAccessFile ra=new RandomAccessFile("emploee.txt", "rw");
ra.writeChars(e1.name);
ra.writeInt(e1.age);//写入一个直接,如果年龄很大大于一个字节,
//内容就会丢失
ra.writeChars(e2.name);
ra.writeInt(e2.age);
ra.writeChars(e3.name);
ra.writeInt(e3.age);
//关闭
ra.close();
String strName="";
//读取的时候重新从创建
RandomAccessFile raf=new RandomAccessFile("emploee.txt","r");
raf.skipBytes(Employee.LEN*2+4);//读取12个字节
//trim(),去掉空格
for(int i=0;i<Employee.LEN;i++)
{
strName+=raf.readChar();
}
System.out.println(strName.trim()+":"+raf.readInt());
//seek绝对定位
raf.seek(0);
// 读取第一个员工
strName="";
for(int i=0;i<Employee.LEN;i++)
{
strName+=raf.readChar();
}
System.out.println(strName.trim()+":"+raf.readInt());
//读取第三个员工
raf.skipBytes(Employee.LEN*2+4);
strName="";
for(int i=0;i<Employee.LEN;i++)
{
strName+=raf.readChar();
}
System.out.println(strName.trim()+":"+raf.readInt());
raf.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
- http://blog.csdn.net/Somnusxyb_许亚宾_http://blog.csdn.net/heima
- http://blog.csdn.net/
- http://blog.csdn.net
- http://blog.csdn.net/matrix2003b/
- http://blog.csdn.net/matrix2003b/
- http://blog.csdn.net/sinapaper/
- http://blog.csdn.net/jjcwww
- http://blog.csdn.net/hkbarton/
- http://blog.csdn.net/cpluser/
- http://blog.csdn.net/chensheng913/
- http://blog.csdn.net/duoshanx
- http://blog.csdn.net/calvinxiu/
- http://blog.csdn.net/shardy
- http://blog.csdn.net/aoosang
- http://blog.csdn.net/hacker_zihan/
- http://blog.csdn.net/lenlydia/
- http://blog.csdn.net/fatalerror99/
- http://blog.csdn.net/iiprogram/
- flex 联机游戏开发 - 中国象棋游戏:(一)核心逻辑
- svn+apache配置
- 静态页面html、shtml增加动态内容 使用apache ssi
- 处理 Struts2 框架上传的文件(转http://xinkong1010.javaeye.com/blog/654623)
- Ucos II 的移植之一
- http://blog.csdn.net/Somnusxyb_许亚宾_http://blog.csdn.net/heima
- Ucos II 移植之二
- 将图片导出至Excel
- 学习java的准备
- Google Map 外部链接触发图标
- Flex富应用开发使用Cairngorm 微体系结构框架(一)
- 使用apache的ZipOutputStream进行zip文件压缩
- SQL的EXISTS与in、not exists与not in 效率比较和使用
- OpenNI抽象分层视图-微软Kinect驱动