javaio操作实现文件读取

上传人:xiao****1972 文档编号:84093020 上传时间:2019-03-02 格式:DOC 页数:5 大小:34.50KB
返回 下载 相关 举报
javaio操作实现文件读取_第1页
第1页 / 共5页
javaio操作实现文件读取_第2页
第2页 / 共5页
javaio操作实现文件读取_第3页
第3页 / 共5页
javaio操作实现文件读取_第4页
第4页 / 共5页
javaio操作实现文件读取_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《javaio操作实现文件读取》由会员分享,可在线阅读,更多相关《javaio操作实现文件读取(5页珍藏版)》请在金锄头文库上搜索。

1、java i/o操作实现文件读取Java的六十输入输出建立在四个抽象类基础上:InputStream、OutPutStream、Reader和Writer。其中前两个设计成字节流,后两个设计成字符流。要读取文件, 我们主要用到四个继承类,FileWriter,FileReader,FileInputStream和FileoutPutStream.如果要提高读取与写入速度可以用缓冲流BufferedWriter,BufferedReader,BufferedInputStream 和BufferedOutputstream。缓冲流通过把内存缓冲区连到输入输出来扩展一个过滤流类,提高了程序性能。1

2、、ascII码文件(1) 写入: 打开文件: FileWriter fw = new FileWriter(writerfile); BufferWriter bw = new BufferWriter(fw); 输出: bw.write();bw.newLine();/换行 写入完成后关闭pw.close();fw.close();(2) 读取 打开文件 FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr);/可选 读入: br.readLine();/从当前文件读取一行。或者 br.

3、read(char .);/读取去一行或指定个数字符。 写入完成后关闭br.close(); fr.close();上述如出现错误,出现错误抛出异常例import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class readline public static void readline(String file,String writerfile) try F

4、ileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); FileWriter fw = new FileWriter(writerfile); /写文件操作,把得到的file对应的文件中内容写入,writerfile中去。 BufferedWriter bw = new BufferedWriter(fw); String readoneline; int l; while(l = br.read() != -1) readoneline = br.readLine(); bw.write

5、(readoneline); bw.newLine(); System.out.println(readoneline); bw.flush(); br.close(); bw.close(); br.close(); fw.close(); fr.close(); catch(IOException e) e.printStackTrace(); public static void main(String args) readline(e:pr.txt,e:aa.txt); 2、二进制文件(1) 输出 FileOutputStream fos = new FileOutputStream(

6、File对象 或者文件名); BufferedOutputStream bs = New BufferOutputstream(fos);/可选是为了提高读取速度(2) 输入 FileInputStream fIs = new FileInputStream(File对象 或者文件名); BufferedInputStream bs = New BufferInputstream(fIs);/可选是为了提高读取速度 例子:1. import java.io.BufferedInputStream; 2. import java.io.BufferedOutputStream; 3. impor

7、t java.io.FileInputStream; 4. import java.io.FileOutputStream; 5. 6. class BufferedCopy 7. public static void main(String args) throws Exception 8. BufferedInputStream bis = null; 9. BufferedOutputStream bos = null; 10. 11. try 12. FileInputStream fis = new FileInputStream(args0); 13. bis = new Buff

8、eredInputStream(fis); 14. 15. FileOutputStream fos = new FileOutputStream(args1); 16. bos = new BufferedOutputStream(fos); 17. 18. int byte_; 19. while (byte_ = bis.read() != -1) 20. bos.write(byte_); 21. 22. 23. catch(FileNotFoundedException e) 24. 25. e.printstackTrace(); 26. 27. (3) 关于DataInputst

9、ream 和DataOutputStream上述流(带缓冲流无关紧要)只能一次读入或者读出一个字节,如果要读出读入、读出任意类型就需要用到DataInputStream和DataOutputStream了。如readInt(),readDouble(),readUTF()等,及读取任意类型。相应的WriteInt writeDouble,WriteUTF();DataInputStream和DataOutputStream的构造函数中是一个流,为了加快读取速度,一般是三重嵌套,即基本输入输出字节流、缓冲流、data流。例子:import java.io.*; public class IOTe

10、st public static void main(String args) throws Exception FileOutputStream out=new FileOutputStream(e:/io.txt); BufferedOutputStream bout=new BufferedOutputStream(out); DataOutputStream dout=new DataOutputStream(bout); dout.writeByte(-12); dout.writeLong(12); dout.writeChar(1); dout.writeFloat(1.01f)

11、; dout.writeUTF(好); /读取此字符串必须用相应的ReadUTF();一一对应关系 dout.close(); FileInputStream in=new FileInputStream(e:/io.txt); BufferedInputStream bin=new BufferedInputStream(in); DataInputStream din=new DataInputStream(bin); System.out.println(din.readByte(); System.out.println(din.readLong(); System.out.println(din.readChar(); System.out.println(din.readFloat(); String s; s=din.readUTF(); System.out.println(s); din.close(); 最后,java默认存储的二进制是大端格式,即高位在前,低位在后,且与平台无关。所以如果要读取c语言存储的类型先要判断c语言存储的格式,如用VC存储要进行转换。文章来源:北大青鸟 http:/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号