如何快速找回意外删除的Excel文件?
632
2022-05-28
Stream、IO、文件操作
关于本篇,引用一个群大佬的话:
❝
stream是管道,文件是数据载体,IO(InPut(输入)、OutPut(输出))是数据的流动的方向
❞
1.Stream流
Java流是对于字节和字符来说的,所以是字节流,字符流。
什么是流,大家看一个词,水流,什么是水流大家都知道,那么换成字节流,字符流不过是同样的意思罢了。 什么是字节流?单个字节或者字符,而单个字节或者字符很明显构不成流,得是多个字节或者字符。
那么这么解释,应该是不会再感觉到困惑啦。
下面看看实操吧。
1.1从键盘获取数据
咦,突然有种莫名的熟悉感。这不是Scanner吗!
不不不,今天我们讲的是另一个:InPutSteamReader
看着好长啊,我们这次先不去管它是什么,我们先看看他能干什么:获取键盘数据
1. 获取一个字符:
import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException{ BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); //获取单个字符 char c; c = (char) a.read(); //使用c来接收字符 System.out.println(c); //输出 } }
运行结果:
在这里插入图片描述
玩点花的:
import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException{ BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); //获取单个字符 ArrayList
❝
都是之前学过的东西,如果你看不懂,说明基础大的不太牢固哦
❞
运行结果:
在这里插入图片描述
嘿嘿
在这里插入图片描述
可以看到,虽然我们输入了一句话,但是我们的Java却一个字符一个字符的存入了集合c中
2.获取多个字符
也就是获取字符串
import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException { BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); String str; str = a.readLine(); System.out.println(str); } }
运行试试
在这里插入图片描述
嗯,效果还可以,那就玩点花里胡哨的:
import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException { BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); //获取字符串 ArrayList
我们尝试输出一堆字符串并保存在集合中。
运行结果:
1.2输出数据到控制台
这还有什么可好说的?
System.out.print(); 不换行输出
System.out.println(); 换行输出
System.out.write(); 输出低八位字节
System.out.printf() 格式化输出(这个之前好像没说过)
System.out.println(0); //输出一个,并换行 System.out.print(1+" "); //输出一个 后面跟个空格,不换行 System.out.write('a');//输出一个字符a 不换行 System.out.println(); //加个这个,换行,美观一点 System.out.printf("这是一个数字 %d 这是一个字符串 %s ",1,"hello"); //格式化输出
运行结果:
2.文件操作
关于对文件的操作,要说的话,有很多很多,就直接实战看例子吧
2.1相关包
首先呢,我们先导包
import java.io.*;
可以看到,我们的文件操作的包位于java.io包中。
2.2创建文件,并写入
写入文件的相关操作位于io包中的「OutputStream」类中。想对文件进行操作,我们需要先利用OutputStream类的构造方法创建一个文件对象,然后根据文件对象的方法对文件进行操作。
OutputStream fwrite = new FileOutputStream("C:/java/text.txt"); //创建文件对象 for (int i = 0;i<10;i++){ //循环向里面存数据 fwrite.write(i); } fwrite.close(); //关闭文件
2.3读取文件
读取文件的相关操作位于io包中的「InputStream」类中,我们若想对文件进行操作,就和写入文件是一样的,先创建对象,再使用相关操作方法。
利用InputStream读取文件:
InputStream fread = new FileInputStream("C:/java/text.txt"); //创建文件对象 byte[] fb = fread.readAllBytes(); //创建数组接收数据 fread.close(); //关闭文件 for (byte b : fb) { //循环读取 System.out.println(b); }
全部代码:
import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException { OutputStream fwrite = new FileOutputStream("C:/java/text.txt"); for (int i = 0;i<10;i++){ fwrite.write( i); } fwrite.close(); InputStream fread = new FileInputStream("C:/java/text.txt"); byte[] fb = fread.readAllBytes(); fread.close(); for (byte b : fb) { System.out.println(b); } } }
Stream、IO、文件操作
关于本篇,引用一个群大佬的话:
stream是管道,文件是数据载体,IO(InPut(输入)、OutPut(输出))是数据的流动的方向
1.Stream流
Java流是对于字节和字符来说的,所以是字节流,字符流。
什么是流,大家看一个词,水流,什么是水流大家都知道,那么换成字节流,字符流不过是同样的意思罢了。 什么是字节流?单个字节或者字符,而单个字节或者字符很明显构不成流,得是多个字节或者字符。
那么这么解释,应该是不会再感觉到困惑啦。
下面看看实操吧。
1.1从键盘获取数据
咦,突然有种莫名的熟悉感。这不是Scanner吗!
不不不,今天我们讲的是另一个:InPutSteamReader
看着好长啊,我们这次先不去管它是什么,我们先看看他能干什么:获取键盘数据
import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException{ BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); //获取单个字符 char c; c = (char) a.read(); //使用c来接收字符 System.out.println(c); //输出 } }
运行结果:
玩点花的:
import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException{ BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); //获取单个字符 ArrayList
都是之前学过的东西,如果你看不懂,说明基础大的不太牢固哦
运行结果:
嘿嘿
可以看到,虽然我们输入了一句话,但是我们的Java却一个字符一个字符的存入了集合c中
也就是获取字符串
import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException { BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); String str; str = a.readLine(); System.out.println(str); } }
运行试试
嗯,效果还可以,那就玩点花里胡哨的:
import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException { BufferedReader a = new BufferedReader(new InputStreamReader(System.in)); //获取字符串 ArrayList
我们尝试输出一堆字符串并保存在集合中。
运行结果:
1.2输出数据到控制台
这还有什么可好说的?
System.out.print(); 不换行输出
System.out.println(); 换行输出
System.out.write(); 输出低八位字节
System.out.printf() 格式化输出(这个之前好像没说过)
System.out.println(0); //输出一个,并换行 System.out.print(1+" "); //输出一个 后面跟个空格,不换行 System.out.write('a');//输出一个字符a 不换行 System.out.println(); //加个这个,换行,美观一点 System.out.printf("这是一个数字 %d 这是一个字符串 %s ",1,"hello"); //格式化输出
运行结果:
2.文件操作
关于对文件的操作,要说的话,有很多很多,就直接实战看例子吧
2.1相关包
首先呢,我们先导包
import java.io.*;
可以看到,我们的文件操作的包位于java.io包中。
2.2创建文件,并写入
写入文件的相关操作位于io包中的「OutputStream」类中。想对文件进行操作,我们需要先利用OutputStream类的构造方法创建一个文件对象,然后根据文件对象的方法对文件进行操作。
OutputStream fwrite = new FileOutputStream("C:/java/text.txt"); //创建文件对象 for (int i = 0;i<10;i++){ //循环向里面存数据 fwrite.write(i); } fwrite.close(); //关闭文件
2.3读取文件
读取文件的相关操作位于io包中的「InputStream」类中,我们若想对文件进行操作,就和写入文件是一样的,先创建对象,再使用相关操作方法。
利用InputStream读取文件:
InputStream fread = new FileInputStream("C:/java/text.txt"); //创建文件对象 byte[] fb = fread.readAllBytes(); //创建数组接收数据 fread.close(); //关闭文件 for (byte b : fb) { //循环读取 System.out.println(b); }
全部代码:
import java.io.*; public class Ex5_9io { public static void main(String[] args) throws IOException { OutputStream fwrite = new FileOutputStream("C:/java/text.txt"); for (int i = 0;i<10;i++){ fwrite.write( i); } fwrite.close(); InputStream fread = new FileInputStream("C:/java/text.txt"); byte[] fb = fread.readAllBytes(); fread.close(); for (byte b : fb) { System.out.println(b); } } }
Java
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。