Java基础学习笔记第二章

1. 标准输入输出流 (掌握)

       标准输入流:System.in <----->  InputStream

练习:InputDemo.java

public class InputDemo {

       public  static void main(String[] args) throws IOException {

              //InputStream  is = System.in;//键盘输入

              //  把字节流  转换为 字符流, 通过转换流完成

              //InputStreamReader  isr = new InputStreamReader(is);

              //BufferedReader  中 有一个 readLine() 可以获取一行数据

              //BufferedReader  br = new BufferedReader(isr);

              BufferedReader  br = new BufferedReader(new InputStreamReader(System.in));

              System.out.println("请输入字符串:");

              String  str = br.readLine();

              System.out.println(str);

              System.out.println("请输入数字:");

              int  number = Integer.valueOf( br.readLine() );

              System.out.println(number);

       }

}

运行结果:、

标准输出流:

       System.out <-----> PrintStream

输出数据的方式:

   1:System.out.println("hello");

   2: BufferedWriter bw = newBufferedWriter(new OutputStreamWriter(System.out));

练习:

public class OutputDemo {

       public  static void main(String[] args) throws IOException {

              //System.out.println("hello");

              //转换流

              //OutputStreamWriter  osw = new OutputStreamWriter(ps);

              //BufferedWriter  bw = new BufferedWriter(osw);

              BufferedWriter  bw = new BufferedWriter(new OutputStreamWriter(System.out));

              bw.write("hello");

              bw.newLine();

              bw.flush();

              bw.close();

       }

}

运行结果:

2.数据输入输出流 (了解)

注意:它是用来操作基本数据类型

       DataInputStream : 数据输入流  -- 字节输入流

       DataOutputStream : 数据输出流  -- 字节输出流

       数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入

3. 内存操作流

操作字节数组:ByteArrayInputStream

此类实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。可使用toByteArray() 和 toString() 获取数据。关闭 ByteArrayOutputStream 无效。

       注意:此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException。

       操作字符数组

              CharArrayReader

              CharArrayWrite

       操作字符串

              StringReader

              StringWriter

这里就演示前面两个对象了

public  class IODemo {

       public static void main(String[] args)  throws IOException {

              //ByteArrayOutputStream

              //打开文件

              ByteArrayOutputStream baos = new  ByteArrayOutputStream();

              baos.write("hello".getBytes());

              byte[] byteArray =  baos.toByteArray();

              baos.close();//释放资源

              System.out.println(baos.toString());

              //ByteArrayInputStream

              //ByteArrayInputStream(byte[] buf)  

              ByteArrayInputStream bais = new  ByteArrayInputStream(byteArray);

              byte[] buffer = new byte[1024];

              int len = 0;

              while ((len = bais.read(buffer))  != -1) {

                     System.out.println( new  String(buffer, 0 , len) );

              }

       }

}

运行结果:

更多学习笔记点击这里

原文地址:https://www.cnblogs.com/gzgb/p/7283741.html