JAVA-输入输出流总结
程序员文章站
2024-01-16 15:49:23
...
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)