java文件IO操
来源:互联网 发布:小众软件网 编辑:程序博客网 时间:2024/06/05 04:34
java文件IO操作------实现对文件的读取与写入
一、File类:
1.定义File对象:
File file = new File(“path”);
2.常用方法: //方法的作用显而易见,不再说明
(1)File.exists();
(2)File.isDirectory();
(3)File.isFile();
(4)File.getName();
(5)File.getAbsolutePath();File.getParent(); //嗯,这里还是要说明下,后者是取得直接父目录的路径
(6)File.mkdir();File.mkdirs(); //好吧,这里也要说明下,后者是创建多级目录
(7)File.createNewFile();
(8)File.delete();
3.遍历目录:
(1)File dir = new File("path");
(2)Stirng[] s = dir.list(); //获取到直接子目录下的文件或目录的名称
(3)File[] files = dir.listFiles(); //获取到直接子目录下的文件或目录的绝对路径
(4)使用Foreach遍历上述集合即可得到直接子目录下的文件
(5)要遍历到直接子目录的目录,进行递归调用即可
4.FileReader/Writer实现对文件的读写操作:
FileWriter fw = new FileWriter("path2", true);//true表示是向源文件追加内容,
2.读写操作:
(1)fr.read(buffer,0, lenght);//将path1对应的文件内容读到buffer的[0:length]段中
(2)fw.write(buffer,0,length);//将buffer中[0:length]段的内容写入到path2中(这个要仔细理解下)
(3)fw.flush();(4)fr/fw.close();
二、使用RandomAccessFile类实现对文件的读写操作
1、定义RandomAccessFile对象:
RandomAccessFile Raf = new RandomAccessFile("File", "rw") ;
2、常用方法:
(1)Raf.getFilePointer();//获取到指针位置(跟RandomAccessFile的机制有关,意思自己查)
(2)Raf.seek(index);//调整指针位置到index处
(3)Raf.write("object");//"object"可以为各种类型,字符/基本型/字节型都阔以
//但是每次只能写一个字节!只能写一个字节!!一个字节!!!
//多个字节咋办呢?比如int型有32位4个字节----分四次写呗!或者看下面:
(4)Raf.writeInt("(Int)object ");//机智的人类早就解决了,封装了一些方法,不同类型找对应的方法即可
(5)Raf.read(buf);//到读取啦啦啦,将File(就是定义Raf时的那个文件)中的内容读到buf中
//你说啥? buf是什么鬼? --- 哦,就是一个缓冲区,byte数组,自己定义!
//然后就可以对读到buf中的内容为所欲为了,你懂得!!!
(6)Raf.colse();//最后关闭,否则可能发生Oracle自己也不知道原因的错
四、字节流:
<一>、FileInput/OutputStream字节流:
(6)out.flush();//刷新缓冲
(7)out.close();//关闭
<二>、BufferedInput/OutputStream字节流:
BufferedOutputStreambos = new BufferedOutputStream(new FileOutputStream(file2));
//建立在FileIn/OutStream基础上
2.读写操作:
(1)bis.read();//读取file1中的一个字节
(2)bos.wrtie((int)c);//写一个字节c到file2中
(3)bos.flush();bis.close(); bos.close();//这几个别忘了
<三>、DataInput/OutputStream字节流:
2.读写操作:
(1)dis.readInt();//可以方便地对各种基本型数据的读取
(2)dos.writeInt((int)c)//写也是一样,int/char/double/都阔以
(3)dis/dos.close();
五、字符流:
<一>、InputStreamReader/OutputStreamWriter()字符流:
InputStreamReader isr = new InputStreamReader(in,"gbk");
FileOutputStream out = new FileOutputStream(file2);
OutputStreamWriter osw = new OutputStreamWriter(out, "gbk"); //编码方式阔以自己选
(1)isr.read(); /osw.write((int)c);//单字符读写
(2)isr.read(buffer,0, length); / osw.write(buffer,0 , length);//批量字符读写
(3)osw.flush();osw.close();isr.close();
<二>、BufferedReader/Writer字符流:
new InputStreamReader(
new FileInputStream(file1)));
BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream(file2));
- java文件IO操
- 【java io】io copy文件
- 文件操做flag
- JAVA IO读写文件
- Java IO 读写文件
- java IO 文件操作
- 【Java IO】文件操作
- java文件IO操作
- java文件IO操作
- java 文件操作 Io
- java.io之文件
- java文件io
- JAVA文件IO操作
- Java之文件IO
- java IO 文件路径
- JAVA-IO读写文件
- java io 读取文件
- java IO 文件操作
- android内核编译及模拟器运行过程记录
- 隐式数据共享 深拷贝 浅拷贝
- 使用dom4j来解析xml文件的基本操作
- Spark修炼之道(基础篇)——Linux大数据开发基础:第十三节:Shell编程入门(五)
- UI第四天 触摸 响应者链 target-action
- java文件IO操
- JAVA中关于静态static和final
- Struts2 学习系列 (6) 消息处理与国际化
- C++之string学习笔记(1)
- Android-Universal-Image-Loader图片加载框架使用
- ubuntu sublime中文输入
- Android系统手机端抓包方法
- layout_width与layout_weight
- c语言之指针数组理解三