12 java文件操作编程
2017-08-31 23:46
357 查看
File类,可以获取指定文件的属性,与创建,删除文件,重命名等操作.
如实现用File类对象判断”/88.txt”文件是否存在,如不存放则创建文件
RandomAccessFile类可以把内容写进File对象引用的文件里,也可以从文件里读取内容. 适用于一般的文件和多媒体等普通文件, 不适用于网络,io设备等.
RandomAccessFile类对象内部会记录文件的读写位置,每次读或写都会改变位置的偏移。
用法:
java里提供了文件操作流类,可用于存取二进制数据及自定义类型的数据。
流操作的基类: InputStream OutputStream
派生类: FileInputStream FileOutputStream, ObjectOutputStream, ObjectInputStream
使用流操作基类的方法:
当创建流操作的派生类对象来操作文件时,都需要引用一个流操作的基类对象.
如创建一个把自定义的类对象写入到文件里的ObjectOutputStream对象:
而且自定义的类型也需要实现序列化的接口Serializable(这样类对象才能转化成二进制数据):
例如实现通过流操作把自定义的Student类对象存储到文件里并读取出来:
如实现用File类对象判断”/88.txt”文件是否存在,如不存放则创建文件
File f = new File("/88.txt"); //创建一个与"/88.txt"文件关联的File对象 if (!f.exists()) f.createNewFile();
RandomAccessFile类可以把内容写进File对象引用的文件里,也可以从文件里读取内容. 适用于一般的文件和多媒体等普通文件, 不适用于网络,io设备等.
RandomAccessFile类对象内部会记录文件的读写位置,每次读或写都会改变位置的偏移。
用法:
RandomAccessFile ff = new RandomAccessFile(File对象, "rw"); //基于一个File对象创建一个RandomAccessFile对象 ff.writeUTF("what the hell"); //按utf8编码写入字符串 ff.writeInt(7788); //写入int类型数据 ff.readUTF(); //读取字符串 ff.readInt(); //读取int类型数据 ff.close(); //关闭文件
java里提供了文件操作流类,可用于存取二进制数据及自定义类型的数据。
流操作的基类: InputStream OutputStream
派生类: FileInputStream FileOutputStream, ObjectOutputStream, ObjectInputStream
使用流操作基类的方法:
//f是已创建出来的一个引用文件的File对象 OutputStream out = new FileOutputStream(f); //创建一个输出流操作对象 out.write("hello world 8888888".getBytes()); //通过输出流操作对象把内容写入文件里. InputStream in = new FileInputStream(f); //创建一个输入流操作对象 byte [] b = new byte[1000]; //byte相当于char, 准备存放读入内容的缓冲区 int ret; ret = in.read(b); //通过输入流操作对象读入文件的内容 System.out.println(new String(b));
当创建流操作的派生类对象来操作文件时,都需要引用一个流操作的基类对象.
如创建一个把自定义的类对象写入到文件里的ObjectOutputStream对象:
ObjectOutputStream obout = new ObjectOutputStream(out); //out是OutputStream的对象
而且自定义的类型也需要实现序列化的接口Serializable(这样类对象才能转化成二进制数据):
//序列化 class 自定义类 implements Serializable { .... }; obout.writeObject(类对象); //类要实现序列化接口
例如实现通过流操作把自定义的Student类对象存储到文件里并读取出来:
/* Hello.java */ import java.io.*; class Student implements Serializable { private static final long serialVersionUID = -8378972921576710454L; private int id; private String name; public Student(int id, String name) { this.id = id; this.name = name; } public String toString() { return "id " + id + " name " + name; } } public class Hello { public static void main(String[] args) throws IOException, ClassNotFoundException { File f = new File("/home/jk/7.txt"); if (!f.exists()) f.createNewFile(); Student s = new Student(0, "小李"); OutputStream outs = new FileOutputStream(f); ObjectOutputStream out = new ObjectOutputStream(outs); out.writeObject(s); out.close(); InputStream in = new FileInputStream(f); ObjectInputStream obin = new ObjectInputStream(in); Student ss; ss = (Student) obin.readObject(); obin.close(); System.out.println(ss); } }
相关文章推荐
- java编程笔记15 文件锁定操作
- Java 编程技术中汉字问题的分析及解决,文件操作
- Java 编程技术中汉字问题的分析及解决,文件操作
- [置顶] Java编程笔试题之一 ----文件操作
- 通过培训学到的一个java的基于线程,网络编程等的文件多线程断点下载器(断点功能还在操作实践中)
- Java 编程技术中汉字问题的分析及解决,文件操作
- Java基础知识强化之网络编程笔记12:TCP之TCP协议上传文本文件并给出反馈
- 12.JAVA之GUI编程打开与保存文件
- Java 编程技术中汉字问题的分析及解决,文件操作
- Java 编程技术中汉字问题的分析及解决,文件操作
- java文件操作大全-Java基础-Java-编程开发
- java编程笔记15 文件锁定操作
- UNIX环境编程学习笔记(12)——文件I/O之目录操作
- 阿翔编程学-Java文件操作
- UNIX环境编程学习笔记(12)——文件I/O之目录操作
- java对文件的操作1。
- java文件操作大全
- ASP编程入门进阶(十八):FSO组件之文件操作(下)
- Java中对文件的操作
- Java文件操作大全(赛迪网)