Java IO流的文件操作例程
2014-10-18 09:14
267 查看
【FileInputStream/FileOutputStream】
FileInputStream举例(复制文件并读取文件大小):
FileOutputStream举例(复制文件):
【FileReader/FileWriter】
FileReader举例(输出文件):
FileWriter举例(写入文件):
TestBufferedStream1.java
TestBufferedStream2.java:
【转换流】
TestTransForm1.java:
TestTransForm2.java:
【数据流】
TestDataStream.java:
【Print流】
TestPrintStream1.java
FileInputStream举例(复制文件并读取文件大小):
import java.io.*; public class TestFileInputStream { public static void main(String[] args) { int b = 0; FileInputStream in = null; try { in = new FileInputStream("d:\\A\\test1.txt"); } catch (FileNotFoundException e) { System.out.println("找不到指定文件"); System.exit(-1); } try { long num = 0; while((b=in.read()) != -1) { System.out.print((char)b); num ++; } in.close(); System.out.println(); System.out.println("共读取了 "+num+" 个字节"); } catch (IOException e) { System.out.println("文件读取错误"); System.exit(-1); } } }
FileOutputStream举例(复制文件):
import java.io.*; public class TestFileOutputStream { public static void main(String[] args) { int b = 0; FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream("d:\\A\\test1.txt"); out = new FileOutputStream("d:\\A\\test2.txt"); while((b=in.read()) != -1) { out.write(b); } in.close(); out.close(); } catch(FileNotFoundException e) { System.out.println("找不到指定文件"); System.exit(-1); } catch(IOException e) { System.out.println("文件复制错误"); System.exit(-1); } System.out.println("文件已复制"); } }
【FileReader/FileWriter】
FileReader举例(输出文件):
import java.io.*; public class TestFileReader { public static void main(String[] args) { FileReader fr = null; int c = 0; try { fr = new FileReader("d:\\A\\test1.txt"); int ln = 0; while((c = fr.read()) != -1) { System.out.print((char)c); } fr.close(); } catch(FileNotFoundException e) { System.out.println("找不到指定文件"); } catch(IOException e) { System.out.println("文件读取错误"); } } }
FileWriter举例(写入文件):
import java.io.*; public class TestFileWriter { public static void main(String[] args) { FileWriter fw = null; try { fw = new FileWriter("d:\\A\\test1.txt"); for(int c=0;c<=50000;c++) { fw.write(c); } fw.close(); } catch (IOException e) { e.printStackTrace(); System.out.println("文件写入错误"); System.exit(-1); } } }
TestBufferedStream1.java
import java.io.*; public class TestBufferedStream1 { public static void main(String[] args) { try { FileInputStream fis = new FileInputStream("d:\\A\\test1.txt"); BufferedInputStream bis = new BufferedInputStream(fis); int c = 0; System.out.println(bis.read()); System.out.println(bis.read()); bis.mark(2); //从第2个开始读 for(int i=0;i<=10 && (c=bis.read())!=-1;i++) { System.out.print(c+" "); } System.out.println(); bis.reset(); for(int i=0;i<=10 && (c=bis.read())!=-1;i++) { System.out.print((char)c+" "); } bis.close(); } catch(IOException e) {e.printStackTrace();} } }
TestBufferedStream2.java:
import java.io.*; public class TestBufferedStream2 { public static void main(String[] args) { try { BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\A\\test2.txt")); BufferedReader br = new BufferedReader(new FileReader("d:\\A\\test1.txt")); String s = null; for(int i=1;i<=100;i++) { s = String.valueOf(Math.random()); bw.write(s); bw.newLine(); } bw.flush(); while((s=br.readLine()) != null) { System.out.println(s); } bw.close(); br.close(); } catch (IOException e) {e.printStackTrace();} } }
【转换流】
TestTransForm1.java:
import java.io.*; public class TestTransForm1 { public static void main(String[] args) { try { OutputStreamWriter osw = new OutputStreamWriter( new FileOutputStream("d:\\A\\test2.txt")); osw.write("lasolmi"); System.out.println(osw.getEncoding()); osw.close(); osw = new OutputStreamWriter( new FileOutputStream("d:\\A\\test2.txt"),"ISO8859_1"); System.out.println(osw.getEncoding()); osw.close(); } catch(IOException e) { e.printStackTrace(); } } }
TestTransForm2.java:
import java.io.*; public class TestTransForm2 { public static void main(String[] args) { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String s = null; try { s = br.readLine(); while(s != null) { if(s.equalsIgnoreCase("exit")) break; System.out.println(s.toUpperCase()); s = br.readLine(); } br.close(); } catch (IOException e) { e.printStackTrace(); } } }
【数据流】
TestDataStream.java:
import java.io.*; public class TestDataStream { public static void main(String[] args) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); try { dos.writeDouble(Math.random()); dos.writeBoolean(true); ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); System.out.println(bais.available()); DataInputStream dis = new DataInputStream(bais); System.out.println(dis.readDouble()); System.out.println(dis.readBoolean()); dos.close(); dis.close(); } catch (IOException e) { e.printStackTrace(); } } }
【Print流】
TestPrintStream1.java
import java.io.*; public class TestPrintStream1 { public static void main(String[] args) { PrintStream ps = null; try { FileOutputStream fos = new FileOutputStream("d:\\A\\test2.txt"); ps = new PrintStream(fos); } catch (IOException e) { e.printStackTrace(); } if(ps != null) { System.setOut(ps); } int ln = 0; for(char c=0;c<=60000;c++) { System.out.print(c + " "); if(ln ++ >= 100) {System.out.println(); ln = 0;} } } }
相关文章推荐
- java操作文件常用的 IO流对象
- 黑马程序员--Java基础学习之IO流之字节流、字符流、读取写入文件、Copy文件、键盘输入输出、流操作的基本规律
- Java IO流文件操作
- Java——第六章(异常处理和文件IO流操作)—(续)
- java io流 对文件操作
- 关于java Io流的操作,复制(多个文件)、删除、剪切、下载网络资源
- java写文件读写操作(IO流,字符流)
- java用IO流操作文件工具类(自己写的)
- Java文件操作——IO流
- java IO文件操作简单基础入门例子,IO流其实没那么难
- Java基础——IO流和文件操作(下)
- 黑马程序员--IO流和文件操作--java学习日记8(基础知识)
- Java基础之IO流,以字节流的方式操作读写文件FileOutputStream和FileInputStream的使用
- java中最简单的文件复制,读写(IO流操作)
- Java中IO流操作文件总结
- Java基础——IO流与文件操作(上)
- Java基础之IO流,通过字节流对媒体文件进行复制操作
- Java基础之IO流,通过字节流缓冲区进行媒体文件的复制操作
- JAVA基础 day23 IO流的其他类 (对象的序列化 管道流 RandomAccessFile类(随机读取文件) DateStream(操作基本数据类型的流) 操作数组的流 )字符编码问题
- Java学习日志(20-1-IO流-File类及文件列表操作)