前面8课,都是小case,一点也不难,大家心里肯定在想,java不过如此。但是,今天,我打算给大家讲java里边非常非常非常难的知识点,io。
什么是io? 答:输入输出就是io。
java io到底难不难?答:像大佬琛这样的智商,难,像你们这样的,就相对比较简单了。
你能不能少一点废话?答:好的,马上开始讲了,这位同学打人是不对的,啊啊···
- 1、IO 第一讲 File类
首先给大家来个简单的,一个File,可以表示一个文件,也可以表示一个文件夹,大家在你电脑的D盘下,创建一个文件夹叫fileDemo,然后我们在里边弄两个txt文件,一个叫aaa.txt,另一个叫bbb.txt。然后直接搞代码,大家最喜欢干的事情就是搞代码了,搞代码爽得不要不要的,对不?
public class IoTest {
public static void main(String[] args) {
File file=new File("D:\\fileDemo");
if(file.exists()){ //判断文件是否存在
System.out.println("报告主淫,找到了"+file.getName());
}
File[] files=file.listFiles();
System.out.println("我还发现了他里边有"+files.length+"个子文件");
for(File f:files){
System.out.println("文件名:"+f.getName()+",长度:"+f.length());
}
}
}
好,这代码简单的不行,我要是在这里解释,大家一定会恨我的。
- 2、读取文件的内容
但是,我们目前为止,并没有读到这2个文件里边的内容啊?那该怎么读呢?好吧,满足这位积极好学的同学的恳求,我直接上代码,大家一定要注意后面的注释。
public class IoTest {
public static void main(String[] args) {
try {
String aaa=readFile("D:/fileDemo/aaa.txt");
String bbb=readFile("D:/fileDemo/bbb.txt");
System.out.println("aaa的内容是:"+aaa);
System.out.println("bbb的内容是:"+bbb);
} catch (IOException e) {
e.printStackTrace();
}
}
static String readFile(String fileName) throws IOException{
StringBuilder sb=new StringBuilder(); //这个就是咱们要返回的数据
FileReader fr=new FileReader(fileName); //获取文件阅读器 fr
BufferedReader br=new BufferedReader(fr); //将文件阅读器的内容装进缓存里
String a;
while((a=br.readLine())!=null){ //将br的内容按行读出来,并且判断是不是空
sb.append(a); //讲内容添加到sb中
sb.append("\n"); //换行
}
return sb.toString();
}
}
- 3、给文件写东西
既然我们可以读文件,那我们要写文件怎么办?同样非常简单
static void writeFile(String fileName,String text) throws IOException{
FileWriter fw=new FileWriter(fileName); //获取文件写入器
BufferedWriter bw=new BufferedWriter(fw); //将文件写入器转成缓存写入器
bw.write(text); //缓存写入器写入内容
bw.close();
}
大家看了,是不是觉得,吗蛋的,java所谓很难的内容不过如此啊?没有错,java并不是像遥远的女神一样只能看不准摸,只要大家努力加油,肯定有一天能干翻她的!!