一、概述
JAVA中IO以流(输入流和输出流)的形式体现,分为字节(1byte=8 bit)流和字符(2byte=16bit)流。在JAVA中定义了InputStream和OutputStream类,这两个类是抽象类且是所有输入和输出字节流的父类;Reader和Writer类也是两个抽象类,并且是所有输入和输出字符流的父类;IO中还有File等类与输入输出流。
二、常用IO类的层次关系
三、常用类的一些方法
1.File类:java文件类以实例化的方式表示一个文件,主要用于文件和目录的创建,查找和删除等。
import java.io.File;
public class Filedemo{
public static void main(String[] args)
{
File file=new File("in.txt");//通过pathname实例化File
System.out.println(file.getName());
System.out.println(file.exists());
file.delete();
System.out.println(file.exists());
}
}
2.InputStream类: 该类为一个抽象类,我们以其子类FileInputStream类为例来说明。
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class IOdemo{
public static void main(String[] args) throws IOException
{
InputStream ips=new FileInputStream(new File("test.txt"));
byte[] bt=new byte[1024];
ips.read(bt);
System.out.println(new String(bt));
ips.close();
}
}
3.OutputStream类: 该类为一个抽象类,我们以其子类FileOutputStream类为例来说明。
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class IOdemo{
public static void main(String[] args) throws IOException
{
OutputStream ops=new FileOutputStream(new File("test.txt"));
String test="test";
byte[] bt=test.getBytes();
ops.write(bt);
ops.close();
}
}
4.Reader类:该类是一个抽象类,我们结合其子类进行举例。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class IOdemo{
public static void main(String[] args) throws IOException
{
BufferedReader rd=new BufferedReader(new FileReader(new File("test.txt")));
String str=rd.readLine();
System.out.println(str);
rd.close();
}
}
5.Writer类:该类是一个抽象类,我们结合其子类进行举例。
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
public class IOdemo{
public static void main(String[] args) throws IOException
{
Writer wt=new BufferedWriter(new FileWriter(new File("test.txt")));
String str="testwt";
wt.write(str);
wt.close();
}
}
四、说明
本文章只是对Java IO 做了一个大概的总结和简单的举例,Java io 中的方法和类极多,还需要查API多多联系和记忆。