java之io类,输入输出流学习
2011-11-03 17:32
225 查看
io流,流是一个抽象的概念,当java程序需要从数据源读数据时,会开启一个到数据源的流从文件,内存,或者网络中把数据输出到控制台。
更方便的处理数据的输入输出。
流分为字节流和字符流。字节流由inputstream和outputstream处理,而字符流由reader和writer处理,
InputStream提供的最重要的方法是
read();
read(byte[] b);
read(byte[] b, int off, int len);
OutputStream提供的最重要的方法是
write(int b);
write(byte[] b);
write(byte[] b, int off , int len);
4. I/O应用的一个例子
更方便的处理数据的输入输出。
流分为字节流和字符流。字节流由inputstream和outputstream处理,而字符流由reader和writer处理,
InputStream提供的最重要的方法是
read();
read(byte[] b);
read(byte[] b, int off, int len);
OutputStream提供的最重要的方法是
write(int b);
write(byte[] b);
write(byte[] b, int off , int len);
4. I/O应用的一个例子
Java代码 import java.io.*; public class TestIO{ public static void main(String[] args) throws IOException{ //1.以行为单位从一个文件读取数据 BufferedReader in =new BufferedReader(new FileReader(\"F: epalonTestIO.java\")); String s, s2 = new String(); while((s = in.readLine()) != null) s2 += s + "\\"; in.close(); //1b. 接收键盘的输入 BufferedReader stdin =new BufferedReader(new InputStreamReader(System.in)); System.out.println(\"Enter a line:\"); System.out.println(stdin.readLine()); //2. 从一个String对象中读取数据 StringReader in2 = new StringReader(s2); int c; while((c = in2.read()) != -1) System.out.println((char)c); in2.close(); //3. 从内存取出格式化输入 try{ DataInputStream in3 =new DataInputStream(new ByteArrayInputStream(s2.getBytes())); while(true) System.out.println((char)in3.readByte()); } catch(EOFException e){ System.out.println(\"End of stream\"); } //4. 输出到文件 try{ BufferedReader in4 =new BufferedReader(new StringReader(s2)); //把s2当作输入对象 PrintWriter out1 =new PrintWriter(new BufferedWriter(new FileWriter(\"F:epalon TestIO.out\"))); int lineCount = 1; while((s = in4.readLine()) != null) out1.println(lineCount + \":\" + s); out1.close(); in4.close(); } catch(EOFException ex){ System.out.println(\"End of stream\"); } //5. 数据的存储和恢复 try{ DataOutputStream out2 = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(\"F:epalon Data.txt\"))); out2.writeDouble(3.1415926); out2.writeChars(" Thas was pi:writeChars "); out2.writeBytes( "Thas was pi:writeByte "); out2.close(); DataInputStream in5 = new DataInputStream(new BufferedInputStream(new FileInputStream(\"F:epalon Data.txt\"))); BufferedReader in5br = new BufferedReader(new InputStreamReader(in5)); System.out.println(in5.readDouble()); System.out.println(in5br.readLine()); System.out.println(in5br.readLine()); } catch(EOFException e){ System.out.println(\"End of stream\"); } //6. 通过RandomAccessFile操作文件 RandomAccessFile rf = new RandomAccessFile(\"F:epalon rtest.dat\", \"rw\"); for(int i=0; i<10; i++) rf.writeDouble(i*1.414); rf.close(); rf = new RandomAccessFile(\"F:epalon rtest.dat\", \"r\"); for(int i=0; i<10; i++) System.out.println(\"Value \" + i + \":\" + rf.readDouble()); rf.close(); rf = new RandomAccessFile(\"F:epalon rtest.dat\", \"rw\"); rf.seek(5*8); rf.writeDouble(47.0001); rf.close(); rf = new RandomAccessFile(\"F:epalon rtest.dat\", \"r\"); for(int i=0; i<10; i++) System.out.println(\"Value \" + i + \":\" + rf.readDouble()); rf.close(); } }
相关文章推荐
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.7输入输出流(4.7.4-4.7.6)
- Java IO流学习总结一:输入输出流
- java基础学习中理解的问题-输入输出流,a++,++a
- JAVA输入输出流学习心得
- 重踏学习Java路上_Day22(数据操作流,内存操作流,打印流,标准输入输出流,随机访问流,合并流,序列化流,Properties,NIO)
- Java学习笔记之输入输出流(二) 缓冲流、随机流、数组流、数据流、对象流
- Java学习笔记(六、输入和输出流)
- Java学习从菜鸟变大鸟之二 输入输出流(IO)
- java输入输出流学习体会
- java学习笔记-输入输出流
- Java IO流学习总结一:输入输出流
- Java IO流学习总结一:输入输出流
- Java IO流学习总结一:输入输出流
- Java 输入输出流巩固学习
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.7输入输出流(4.7.1-4.7.3)
- 12.6 JAVA学习 输入输出流
- JAVA学习笔记0007----输入输出流
- 学习总结 java 输入输出流
- Android(java)学习笔记166:Java中输入和输出流概念
- 学习练习 java输入输出流 练习题1