数据的输入和输出是项目里面经常用到的操作之一,所以I/O在JAVA基础知识里面算是很重要的一块。
一:首先是对文件的操作。
JAVA里面对文件进行了抽象,利用java.io.File类来代表文件和目录。
File类的构造方法:1.File(String pathName)//通过全路径来创建文件对象。例:File f = new File("/home/user_qq/javastudy/text1.java");
2.File(String parent,String fileName)//通过父路径和文件名称来创建文件对象。例:File f = new File("/home/user_qq/javastudy","text1.java");注意:前面的父文件夹名称后面没有反斜杠;
3.File(File parent,String fileName)//通过父文件和文件名称来创建文件对象。例:File parent = new File("/home/user_qq/javastudy"); File f = new File(parent,"text1.java");
对文件进行操作的方法:
1.createNewFile();//不存在时创建此文件对象所表示的文件;
2.delete();//删除文件或者目录,如果是目录,则目录必须是空的才能删除;
3.mkdir();创建文件夹;
4.mkdirs();创建文件夹,如果路径名中包含的父文件夹没有,则会同时创建父文件夹;
5.list();//返回目录中的文件名和目录名的数组;只列出名字,所以在此数组中不能判断元素是不是文件或者文件夹;
6.listFiles();//返回目录中的文件和目录的File实例的数组;此数组中可以判断元素是不是文件或者文件夹;
7.listFiles(FilenameFilter filter);//只列出过滤以后的文件和目录;
二:流
1.InputStream:字节输入流;常用方法:
read();//从输入流中读取数据的下一?字节,返回字节值,如果遇到流的末尾,就返回-1;
read(byte[] b);//从输入流中读取b.length长度的字节数据,并存储到缓冲区数组b中,返回读到的字节数;
close();//关闭流;
2.OutputStream:字节输出流;常用的方法:
write(int b);//将指定的字节写入到输出流中;
write(byte[] b);//从指定的数组中读出数组长度?字节,写入到输出流中;
flush();//刷新流;
close();//关闭流;
3.Reader:字符输入流;常用的方法:
read();//和InputStream用法相同,不过它读取的是一?字符,到流末尾时,同样返回-1;
read(char[] ch);//将字符读入数组,返回字符数;
close();//关闭流;
4.Writer:字符输出流;常用的方法:
write(int c );//略;
write(char[] ch);/略;
write(String str);//把指定字符串写入流;
flush();//略;
close();//略;
这四?流是最基础的抽象流类,以后所有的字节流或者字符流都继承于它们四?。
文件流:FileInputStream;FileOutputStream;FileReader;FileWriter;
缓冲流:BufferedInputStream;BufferedOutputStream;BufferedReader;BufferedWriter;
转换流:InputStreamReader和OutputStreamWriter;
数据流:DataInputStream和DataOutputStream;
打印流:PrintStream 和PritnWriter;//我们常用的System.out.println();语句其中的System.out就是PrintStream类的一?实例;
对象流:ObjectOutputStream 和ObjectInputStream;//对象的序列化和反序列化就要用到这两?类;
待续。。。。。。。。。。。。。