这是我参与8月更文挑战的4天,活动详情查看:8月更文挑战
在1995年的一个夜晚,J,它接到了一个神秘的任务,任务代号为01,它的任务就是在人间和计算机进行一些交流。它就是Java。它用着自己的多重身份和计算机进行交谈,任务的目的却不得而知,,,,
这part里,我们的Java要和磁盘做一系列的交谈,这里我们要学习一些io流的知识,才能了解Java是如何和磁盘里的文件进行交谈的,Java的神秘面纱也将慢慢的揭开了, 现在我们先把思维导图供上~
graph TD
InputStream 输入流 --> BufferedInputStream
InputStream 输入流 --> FileInputStream文件流
IO流 --> Reader 输入字符流
IO流 --> Writer 输出字符流
IO流 --> InputStream 输入流
IO流 --> OutputStream 输出流
Reader 输入字符流 --> BufferedReader
Reader 输入字符流 --> FileReader
Writer 输出字符流 --> FileWriter
Writer 输出字符流 --> BufferedWriter
OutputStream 输出流 --> BufferedOutputStream
OutputStream 输出流 --> FileoutputStream
也就是说我们会把这部分的内容逐一的分析一下
在我们孩童时代写作文的时候,你的语文老师一定让你去多读文章,目的是什么,在你的头脑中输入很多的名言警句,这样,在你考试的时候才能写出一篇比较好的文章。在你写文章的这个过程就叫做输出的过程。
在我们的计算机里也是这样的,你在java中写一段文字
java存在意义不是孤芳自赏,不是一个人独自的美丽,他就像一块砖,哪块需要就往哪搬,比如说现在有一个文件放在这里,java不能对他熟视无睹,需要去采取一些行动,读取这个文件,再比如说,java想把自己里面有的内容放在桌面上,(啊,桌面,你带我玩玩呀~~ ) 我这有好玩的东西分享给你,也就是我们俗称的快乐分享家
这里就引入了输出流的概念,java中写了一段"something with joy",想让f盘和他一起分享这份快乐,现在他们是两个独立的个体,怎么传呐?这个时候就用到了输出流里面的文件传输-FileOutputStream
那么代码是什么样子的呐~
package com.icss.io;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class OutPutStreamT {
//字节输出流
public static void main(String[] args) {
//File file = new File("F:/test/hello.txt");//绝对路径
File file =new File("test1.txt");//相对路径选一个就可以的
try {
FileOutputStream fos = new FileOutputStream(file);
String str = "something with joy我很快乐";//不建议字节流传中文,容易出现乱码,那么如何不乱码呐~(且听下回分解)
for(int i =0;i<str.length();i++){
fos.write(str.charAt(i));
}
System.out.println("已创建");
fos.flush();//确保文件当中传输的数据,都传输完毕之后进行关闭
fos.close();
} catch (FileNotFoundException e) {
System.out.println("文件未找到");
} catch (IOException e) {
System.out.println("io异常");
}
}
}
至此,我们已经可以成功的把我们Java里面写的内容放在桌面上了!成功的将Java中的内容放到了桌面上,下面我们要考虑的就是把桌面上的文件在我们的Java中进行读取,也就是InputStream,它如何完成的呐,且听下回慢慢分解~