JAVA-输入输出流总结

JAVA-输入输出流总结

  • 说明: 对于程序来说的输入和输出,而不是对于文件来说的.
    程序->文件(输出)
    程序<-文件(输入)

先要了解: 文件

构造方法:    
File(String Filename文件名) 
File(String DirectoryPath路径名,String Filename文件名)
File(String Dirobj指定目录,String Filename文件名) 

eg:
File f1=new File("a.txt");  (在当前类的目录下,创建一个a.txt的文件)

JAVA流分为:

  • 文件字节流
  • 文件字符流
  • 缓冲流
  • 数据流
  • 对象流

文件字节流

(一个字节一个字节读,因此处理汉字出现乱码 (汉字是占两个字节) )
(数据流套用)

*  输入流FileInputStream
        构造方法: FileInputStream(String name)
        读操作: int read();
                   int read(byte a[]); 
* 输出流FileOutputStream
        构造方法: FileOutputStream(String name)
        读操作: void write();
                   void write(byte b[]);

文件字符流

(可处理汉字,处理为Unicode字符)
(缓冲流套用)

* 输入流FileReader
        构造方法: 同上
        读操作: 
        int read()
        int read(char b[])
* 输出流FileWriter
         构造方法: 同上
         写操作:
         write(char b[])  建字符数组-字符串变字符数组-写入文件
         write(String str)

缓冲流

(文件字符流作为参数)

* 输入流BufferedReader
        构造方法:BufferedReader(Reader in)
        读文本行: readerLine()
* 输出流BufferedWriter
     构造方法:BufferedWriter(Writer)
    写操作:write(String str)

eg:
FileReader in=new FileReader("a.txt");
BufferedReader inin=new BufferedReader(in);

数据流

(数值类数据的读取,读取long double boolean)
(不是字节/字符存储,打开为乱码)

* 输入流DataInputStream
        构造方法:DataInputStream(InputStream in)
        读:  
         readInt()
         readDouble()
* 输出流DataOutputStream
     构造方法:DataOutputStream(OutputStream out)
     写:
     writeInt()
     writeDouble()
     writeLong()

对象流

(”名称+密码“为对象,以对象为单位; 类必须序列化)
(字节流作为参数)

* 输入流ObjectInputStream
        构造方法: ObjectInputStream(InputStream in)
        读: readObject(Object obj)
* 输出流ObjectOutputSteam   
     构造方法: ObjectOutputStream(OutputStream out)
     写: writeObject(Object obj)

猜你喜欢

转载自blog.csdn.net/qq_37486501/article/details/80173056
今日推荐