Java流(Stream),文件(File),和IO


Java流(Stream),文件(File),和IO

  • Java.io包几乎包含了所有操作输入,输出需要的类;所有这些流类代表了输入源输出目标

  • java.io包中流支持很多种格式:比如:基本类型,对象,本地化字符集等等

  • 一个流可以理解为一个数据的序列;输入流表示从一个源读取数据,输出流表示向一个目标写数据;

  • 文件传输和网络编程;

     

  • 读取控制台输入:

    • Java的控制台输入由System.in完成;

    • 为了获得一个绑定到控制台的字符流,你可以把System.in包装在一个BufferdReader对象中来创建一个字符流;

      //创建BufferedReader对象语法:
      BufferedReader br=new BufferedReader(new InputSteamReader(System.in));
      ?
      ?

       

  • 从控制台读取多字符输入:

    //语法
    int read() throws IOException ;
    //每次调用read()方法,它从输入流读取一个字符并把该字符作为整数值返回;当流结束时返回-1,该方法抛出IOException;
    ?
  • 代码案例:BufferedReader :read();

    ?
    public class Demo15 {
    ?
       public static void main(String[] args) {
    ?
    ?
           try {
               FileReader fr=new FileReader("E:/haha/demo1.txt");
               //字符流
               BufferedReader bd=new BufferedReader(fr);
    ?
               int d =0;
               while ((d=bd.read())!= -1){
                   System.out.print((char) d);
              }
    ?
               fr.close();
               bd.close();
    ?
    ?
          } catch (IOException e) {
               e.printStackTrace();
          }
    ?
      }
    }
    ?
    ?
  • 代码案例:BufferedWriter: write( );

    ?
    public class Demo16 {
       public static void main(String[] args) {
    ?
           String ss="年后";
    ?
           //char[] charArr=ss.getChars(ss,10);
           try {
              // FileWriter fw=new FileWriter("E:/haha.demo1.txt");
               BufferedWriter bw=new BufferedWriter(new FileWriter("E:/haha/demo1.txt"));
    ?
               bw.write(ss);
               System.out.println("over");
               //fw.close();
               bw.close();
    ?
          } catch (IOException e) {
               e.printStackTrace();
          }
    ?
    ?
      }
    }