简单的创建一个文件:
File f=new File("temp.txt");
file.createNewFile();创建一个文件.
创建跨平台、操作系统的文件
File file=new File(File.separator)//构造根目录.如当前在D:盘
String strFile="目录名"+File.separator+"子目录"+File.separator+"temp.txt";//组装文件的全路径
//文件创建时指定的目录名必须存在否者出现IOException.
File f=new File(file,strFile);
f.createNewFile();
file.mkdir();创建一个目录.
file.createTempFile()//创建临时文件.
file.deleteOnExist();//删除文件.
String [] fileList=file.list();得到目录下的文件和目录名.
isDirectory()判断是否是目录.
//得到自定义的文件集合
String [] fileList=file.list(new FilenameFilter(){
//实现接口 FilenameFilter的accept方法用于过滤器文件名。
public boolean accept(File dir,String name){
//过滤提取出所有.txt文件.
return name.indexOf(".txt")!=-1;//存在.txt子串.
}
});
File类中没有提供对文件的读写操作的方法,文件的读写操作是通过输入流和输出流完成的.
字节流:
inputStream:
abstract int read()读取一个字节数据,并返回读到的数据,如果返回1表示读到文件的末尾.
int read(byte[] b):
int read(byte[] b,int off, int len):
long skip(long n):跳过n个字节
outputStream:
write(int b)写入一个字节到输出流
write(byte[] b)写入字节数组到输出流
write(byte[]b,int off,int len)往输出流中写入数组b中从偏移量off开始的len个字节的数据。
void flush() :刷新输出流,强制缓冲区中的输出字节被写出,只对使用了缓冲的流类起作用。
void close() :关闭输出流,释放和这个流相关的系统资源。
FileInputStream,FileOutputStream:采用字节作为参数进行读写
提供带缓冲的输入和输出流:
BufferedInputStream,BufferedOutputStream构造时需要提供一个已经存在的输入或输出流作为参数。
FileInputStream,FileOutputStream继承自inputStream,outputStream所以也可作为参数。因为提供了缓冲功能所以效率更高。
flush()与close():
当操作中需要继续使用缓冲流对象时可调用flush()方法强制输出缓冲区中数据,当不再使用缓冲流对象时可直接调用close()方法输出数据。
DataInputStream,DataOutputStream提供了读写Java中的基本数据类型的功能。构造时需要提供一个已经存在的输入或输出流作为参数。
PipedInputStream和PipedOutputStream 管道流,成对出现使用,用于线程间的通信。
一个线程的PipedInputStream对象从另一个线程的PipedOutputStream对象读取输入。使用管道流必须同时构造管道输入流和管道输出流。
写入字符流的抽象类Reader,Writer:子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。
BufferedWriter将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
BufferedReader从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
FileReader 用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream。
处理字符:BufferedReader br=new BufferedReader(new InputStreamReader(InputStream));
String str=br.readLine();//读入一行数据。
RandomAccessFile:此类的实例支持对随机存取文件的读取和写入。
RandomAccessFile(File file,String mode)构造方法中mode参数指定用以打开文件的访问模式。允许的值及其含意为:
"r" 以只读方式打开。调用结果对象的任何 write 方法都将导致抛出 IOException。
"rw" 打开以便读取和写入。如果该文件尚不存在,则尝试创建该文件。
"rws" 打开以便读取和写入,对于 "rw",还要求对文件的内容或元数据的每个更新都同步写入到基础存储设备。
"rwd" 打开以便读取和写入,对于 "rw",还要求对文件内容的每个更新都同步写入到基础存储设备。
getFilePointer():读取文件指针。
seek(long pos): 设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。
File f=new File("temp.txt");
file.createNewFile();创建一个文件.
创建跨平台、操作系统的文件
File file=new File(File.separator)//构造根目录.如当前在D:盘
String strFile="目录名"+File.separator+"子目录"+File.separator+"temp.txt";//组装文件的全路径
//文件创建时指定的目录名必须存在否者出现IOException.
File f=new File(file,strFile);
f.createNewFile();
file.mkdir();创建一个目录.
file.createTempFile()//创建临时文件.
file.deleteOnExist();//删除文件.
String [] fileList=file.list();得到目录下的文件和目录名.
isDirectory()判断是否是目录.
//得到自定义的文件集合
String [] fileList=file.list(new FilenameFilter(){
//实现接口 FilenameFilter的accept方法用于过滤器文件名。
public boolean accept(File dir,String name){
//过滤提取出所有.txt文件.
return name.indexOf(".txt")!=-1;//存在.txt子串.
}
});
File类中没有提供对文件的读写操作的方法,文件的读写操作是通过输入流和输出流完成的.
字节流:
inputStream:
abstract int read()读取一个字节数据,并返回读到的数据,如果返回1表示读到文件的末尾.
int read(byte[] b):
int read(byte[] b,int off, int len):
long skip(long n):跳过n个字节
outputStream:
write(int b)写入一个字节到输出流
write(byte[] b)写入字节数组到输出流
write(byte[]b,int off,int len)往输出流中写入数组b中从偏移量off开始的len个字节的数据。
void flush() :刷新输出流,强制缓冲区中的输出字节被写出,只对使用了缓冲的流类起作用。
void close() :关闭输出流,释放和这个流相关的系统资源。
FileInputStream,FileOutputStream:采用字节作为参数进行读写
提供带缓冲的输入和输出流:
BufferedInputStream,BufferedOutputStream构造时需要提供一个已经存在的输入或输出流作为参数。
FileInputStream,FileOutputStream继承自inputStream,outputStream所以也可作为参数。因为提供了缓冲功能所以效率更高。
flush()与close():
当操作中需要继续使用缓冲流对象时可调用flush()方法强制输出缓冲区中数据,当不再使用缓冲流对象时可直接调用close()方法输出数据。
DataInputStream,DataOutputStream提供了读写Java中的基本数据类型的功能。构造时需要提供一个已经存在的输入或输出流作为参数。
PipedInputStream和PipedOutputStream 管道流,成对出现使用,用于线程间的通信。
一个线程的PipedInputStream对象从另一个线程的PipedOutputStream对象读取输入。使用管道流必须同时构造管道输入流和管道输出流。
写入字符流的抽象类Reader,Writer:子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。
BufferedWriter将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
BufferedReader从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
FileReader 用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream。
处理字符:BufferedReader br=new BufferedReader(new InputStreamReader(InputStream));
String str=br.readLine();//读入一行数据。
RandomAccessFile:此类的实例支持对随机存取文件的读取和写入。
RandomAccessFile(File file,String mode)构造方法中mode参数指定用以打开文件的访问模式。允许的值及其含意为:
"r" 以只读方式打开。调用结果对象的任何 write 方法都将导致抛出 IOException。
"rw" 打开以便读取和写入。如果该文件尚不存在,则尝试创建该文件。
"rws" 打开以便读取和写入,对于 "rw",还要求对文件的内容或元数据的每个更新都同步写入到基础存储设备。
"rwd" 打开以便读取和写入,对于 "rw",还要求对文件内容的每个更新都同步写入到基础存储设备。
getFilePointer():读取文件指针。
seek(long pos): 设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。