Java I/O 学习笔记(实战篇)
本篇将进行Java I/O的实际操作。
简单的输入输出流操作
/** * Created by Mr.W on 2017/11/9. */public class IOClass { public static void main(String[] args) throws IOException { File file = new File("./src/com/stupidzhe/jdklearning/io/file-test/file1.c"); // output FileOutputStream outputStream = new FileOutputStream(file); // 实例化装饰器类,这里我们使用PrintStream // 第一个参数:outputStream // 第二个参数:是否每次换行时清空缓冲 PrintStream printStream = new PrintStream(outputStream, false); printStream.print("hello world!"); printStream.flush(); printStream.close(); outputStream.close(); // input FileInputStream fileInputStream = new FileInputStream(file); BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream); byte[] bytes = bufferedInputStream.readAllBytes(); String content = new String(bytes); System.out.println(content); bufferedInputStream.close(); fileInputStream.close(); }}------output------hello world!------------------
上述代码使用了FileOutputStream来作为输出流,PrintStream作为OutputStream的装饰器类,使用FileInputStream作为输入流,BufferedInputStream作为InputStream的装饰器类。
<hr>
public class ReaderAndWriterClass { public static void main(String[] args) throws IOException { File file = new File("./src/com/stupidzhe/jdklearning/io/file-test/file2.c"); FileWriter fileWriter = new FileWriter(file, false); String content = "你好,世界!\n我爱你!"; fileWriter.write(content); fileWriter.flush(); fileWriter.close(); FileReader fileReader = new FileReader(file); int i; while ((i = fileReader.read()) != -1) System.out.print((char) i); fileReader.close(); }}-------output-------你好,世界!我爱你!--------------------
上述代码使用了FileWriter类与FileReader类作为文件输入输出流。相对于InputStream和OutputStream面向字节的流,Writer和Reader是面向字符的。
<hr>