首页 > 编程知识 正文

八炮流详细步骤,湾流g650详细参数

时间:2023-05-03 14:14:08 阅读:194861 作者:2731

IO流

:可以理解为是一个数据的序列,输入流代表从一个源读取数据,输出流表示将数据写入一个目标中。

什么是IO流:用来输出输入的流,也可以理解为IO流就是以流的方式来进行输出输入。

水源地是产水的地方(相当于是源)自来水厂的水从哪来呢?从水源地输入。(相当于IO流中的输入流)自来水厂的水要去哪呢?他将输出到用户手中。(相当于IO流中的输出流)

缓冲区:一个用于基本数据类型的容器。
为什么我们想要水就会有水呢?那是因为用户和自来水厂之间有一个储水池。同样Java中也有一个储水池,叫做缓冲区。

IO流都有啥


IO流分类

根据流的数据流向可分为 字节流 (抽象基类:InputStream和OutputStream )字符流 (抽象基类:Writer和Reader ) 根据流中处理数据的单位可分为 输入流输出流

Write字符输出流

FileWriter 例:创建一个文件demo.txt package java_demo.IO流;import java.io.FileWriter;import java.io.IOException;public class Filewrite { public static void main(String args[]) throws IOException { FileWriter file = null; try { //创建一个FileWriter对象。该对象一被初始化就必须要明确被操作的文件。 //而且该文件会被创建到指定目录下。如果该目录下已有同名文件,将被覆盖。 //其实该步就是在明确数据要存放的目的地。 file = new FileWriter("filedemo.text",true); file.write("我叫小猪!n");//调用write方法,将字符串写入到流中。 }catch (IOException e) { System.out.println(e.toString()); } finally { try { if(file != null) { file.close();//关闭流 } }catch (IOException e) { System.out.println(e.toString()); } } }} BufferedWriter BufferedWriter是一个缓存字符输出流,他的作用是为其他字符输出流提供缓存。例: package java_demo.IO流;import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;public class Bufferedwriter { public static void main(String args[]) throws IOException { FileWriter file = new FileWriter("filedemo.text",true); BufferedWriter bw = new BufferedWriter(file);//把为了提高字符写入流效率。加入了缓冲技术。只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可。 char [] a = {'a','b','c','d','e','f'}; bw.write(a,0,4); bw.newLine(); bw.write(a,2,2); bw.flush(); bw.close(); }}

Reader字符输入流:

FileReader 例: package java_demo.IO流;import java.io.*;public class Filereader { public static void main(String[] args) throws IOException { //创建一个文件读取流对象,和指定名称的文件相关联。 //要保证该文件是已经存在的,如果不存在,会发生异常FileNotFoundException FileReader fr = new FileReader("filedemo.text"); //调用读取流对象的read方法。 //read():一次读一个字符。而且会自动往下读。 int ch = 0; while((ch=fr.read())!=-1) { System.out.println("ch="+(char)ch); } //关闭流 fr.close(); }} BufferReader 例: package java_demo.IO流;import java.io.*;public class Bufferedreader { public static void main(String[] args) throws IOException { //创建一个读取流对象和文件相关联。 FileReader fr = new FileReader("filedemo.text"); //为了提高效率。加入缓冲技术。将字符读取流对象作为参数传递给缓冲对象的构造函数。 BufferedReader bufr = new BufferedReader(fr); String line = null; while((line=bufr.readLine())!=null) { System.out.print(line); } //关闭流 bufr.close(); }}

InputStream字节输出流
InputStream类是字节输入流的抽象类,是所有字节输入流的父类,InputStream类具有层次结构如下图所示:

FileInputStream 例: package java_demo.IO流;import java.io.*;public class FileStream { public static void main(String[] args) throws IOException { readFile_3(); } //打开文件,一次读取刚刚好内容的字节 public static void readFile_3()throws IOException { FileInputStream fis = new FileInputStream("fos.txt"); //available()返回从此输入流中可以读取(或跳过)的剩余字节数的估计值,而不会被下一次调用此输入流的方法阻塞。 byte[] buf = new byte[fis.available()];//定义一个刚刚好的缓冲区。不用在循环了。 fis.read(buf); System.out.println(new String(buf)); fis.close(); } //打开文件,一次读取多个字节 public static void readFile_2()throws IOException { FileInputStream fis = new FileInputStream("fos.txt"); byte[] buf = new byte[1024]; int len = 0; while((len=fis.read(buf))!=-1) { System.out.println(new String(buf,0,len)); } fis.close(); } //打开文件,一次读取一个字节 public static void readFile_1()throws IOException { FileInputStream fis = new FileInputStream("fos.txt"); int ch = 0; while((ch=fis.read())!=-1) { System.out.println((char)ch); } fis.close(); }}

OutputStream直接输出流
OutputStream字节输出流,是所有字节输出流的父类,InputStream类具有层次结构如下图所示:

FileInputStream 例: package java_demo.IO流;import java.io.*;public class Fileinputstream { private static final String FileName = "fos.txt"; public static void main(String[] args) { testWrite(); } /** * FileOutputStream 演示函数 * * 运行结果: * 在源码所在目录生成文件"file.txt",文件内容是“abcdefghijklmnopqrstuvwxyz0123456789” * * 加入,我们将 FileOutputStream fileOut2 = new FileOutputStream(file, true); * 修改为 FileOutputStream fileOut2 = new FileOutputStream(file, false); * 然后再执行程序,“file.txt”的内容变成"0123456789"。 * 原因是: * (01) FileOutputStream fileOut2 = new FileOutputStream(file, true); * 它是以“追加模式”将内容写入文件的。即写入的内容,追加到原始的内容之后。 * (02) FileOutputStream fileOut2 = new FileOutputStream(file, false); * 它是以“新建模式”将内容写入文件的。即删除文件原始的内容之后,再重新写入。 */ public static void testWrite() { try { // 创建文件“file.txt”对应File对象 File file = new File(FileName); // 创建文件“file.txt”对应的FileOutputStream对象,默认是关闭“追加模式” FileOutputStream fileOut1 = new FileOutputStream(file); // 创建FileOutputStream对应的PrintStream,方便操作。PrintStream的写入接口更便利 PrintStream out1 = new PrintStream(fileOut1); // 向“文件中”写入26个字母 out1.print("abcdefghijklmnopqrstuvwxyz"); out1.close(); // 创建文件“file.txt”对应的FileOutputStream对象,打开“追加模式” FileOutputStream fileOut2 = new FileOutputStream(file, true); // 创建FileOutputStream对应的PrintStream,方便操作。PrintStream的写入接口更便利 PrintStream out2 = new PrintStream(fileOut2); // 向“文件中”写入"0123456789"+换行符 out2.println("0123456789"); out2.close(); } catch(IOException e) { e.printStackTrace(); } }}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。