java学习三---IO流

字节流按一个字节一个字节读取文件

import java.io.*;

public class TestFileInputStream {
    public static void main(String[] args) {
        int b = 0;
        FileInputStream in = null;
        try {
            in = new FileInputStream("E:\Programs\JavaTest\JavaBasicTest\HelloWorld.java");
        }    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 e1){
            System.out.println("文件读取错误");
            System.exit(-1);
        }

    }
}

运行结果:

Compiling TestFileInputStream.java.......    
-----------OUTPUT-----------    
public class HelloWorld {
    public static void main(String args[]) {
        System.out.println("HelloWorld!");
    }
}     
共读取了115 个字节
View Code

字符流按一个字符一个字符读取文件

import java.io.*;

public class TestFileReader {
    public static void main(String[] args) {
        FileReader fr = null;
        int c = 0;

        try {
            fr = new FileReader("E:\Programs\JavaTest\JavaBasicTest\HelloWorld.java");
            int In = 0;
            while((c=fr.read())!=-1) {    
                System.out.print((char)c);
            }
            fr.close();
        } catch (FileNotFoundException e) {
            System.out.println("找不到指定文件");
          }
          catch (IOException e) {
              System.out.print("文件读取错误");
          }
    }
}

运行结果:

Compiling TestFileReader.java.......    
-----------OUTPUT-----------    
public class HelloWorld {
    public static void main(String args[]) {
        System.out.println("HelloWorld!");
    }
}     [Finished in 1.0s]
View Code

字节流复制文件

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("E:\Programs\JavaTest\JavaBasicTest\HelloWorld.java");
            out = new FileOutputStream("E:\Programs\JavaTest\JavaBasicTest\CopyHelloWorld.java");
            while ((b=in.read())!=-1) {
                out.write(b);
            }
            in.close();
            out.close();
        } catch (FileNotFoundException e1) {
            System.out.println("找不到指定文件");
            System.exit(-1);
        } catch (IOException e2) {
            System.out.println("文件复制错误");
            System.exit(-1);
        }
        System.out.println("文件已复制");
    }
}

Writer

import java.io.*;

public class TestFileWriter {
    public static void main(String[] args) {
        FileWriter fw = null;
        try {
            fw = new FileWriter("E:\Programs\JavaTest\JavaBasicTest\HelloWorld.java");
            for (int c = 0; c <= 50000; c++) {
                fw.write(c);
            }
            fw.close();
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("文件写入错误");
            System.exit(-1);
        }
    }
}
原文地址:https://www.cnblogs.com/lea-fu/p/3252498.html