教材学习内容总结
File类:
File对象主要用来获取文件本身的一些信息,不涉及对文件的读写操作。
创建一个File对象的构造方法有3个:
File(String filename);
File(String directoryPath,String filename);
File(File f, String filename);
File类的下列方法获取文件本身的一些信息:
public String getName() 获取文件的名字。
public boolean canRead() 判断文件是否是可读的。
public boolean canWrite() 判断文件是否可被写入。
public boolean exits() 判断文件是否存在。
public long length() 获取文件的长度(单位是字节)。
public String getAbsolutePath() 获取文件的绝对路径。
public String getParent() 获取文件的父目录。
public boolean isFile() 判断文件是否是一个普通文件,而不是目录。
public boolean isDirectroy() 判断文件是否是一个目录。
public boolean isHidden() 判断文件是否是隐藏文件。
public long lastModified() 获取文件最后修改的时间。
目录:
1.创建目录 public boolean mkdir()
2.列出目录中的文件
public String[] list() 用字符串形式返回目录下的全部文件。
public File [] listFiles() 用File对象形式返回目录下的全部文件。
public String[] list(FilenameFilter obj) 用字符串形式返回目录下的指定类型的所有文件。
public File [] listFiles(FilenameFilter obj) 用File对象形式返回目录下的指定类型所有文件。
上述两方法的参数FilenameFilter是一个接口,该接口有一个方法:public boolean accept(File dir,String name);
运行可执行文件 :用Runtime 类声明一个对象( Runtime类在java.lang包)Runtime ec;然后使用该类的getRuntime()静态方法创建这个对象:ec=Runtime.getRuntime(); ec可以调用exec(String command)方法打开本地机的可执行文件或执行一个操作。
文件字节输入流:
FileInputStream(String name);
FileInputStream(File file);
int read() 读取单个字节的数据,返回字节值(0~255整数),如果未读出字节就返回-1。
int read(byte b[]) 读取b.length个字节到字节数组b中,返回实际读取的字节数。如果到达文件的末尾,则返回-1。
int read(byte b[], int off, int len) 读取len个字节到字节数组b中,并返回实际读取的字节数目。如果到达文件的末尾,则返回-1,参数off指定从字节数组的某个位置开始存放读取的数据。
文件字节输出流:
FileOutputStream(String name);
FileOutputStream(File file);
void write(int n) 向目的地写入单个字节。
void write(byte b[]) 向目的地写入一个字节数组。
void write(byte b[],int off,int len) 从字节数组中偏移量off处取len个字节写到目的地。
缓冲流:
1、构造方法:
BufferedReader(Reader in);
BufferedWriter (Writer out);
2、读写文件的方法:
readLine() 读取文本行
write(String s,int off,int len) 把字符串s写到文件中
newLine(); 向文件写入一个回行符
随机流:
1、构造方法:
RandomAccessFile(String name,String mode) ;
RandomAccessFile(File file,String mode) ;
2、相关方法:
seek(long a) 定位RandomAccessFile流的读写位置
getFilePointer() 获取流的当前读写位置
数组流:
1、ByteArrayInputStream构造方法及常用方法
ByteArrayInputStream(byte[] buf);
ByteArrayInputStream(byte[] buf,int offset,int length);
public int read();顺序地从源中读出一个字节
public int read(byte[] b,int off,int len);顺序地从源中读出参数len指定的字节数
2、ByteArrayOutputStream流构造方法及常用方法
ByteArrayOutputStream();
ByteArrayOutputStream(int size);
public void write(int b); 顺序地向缓冲区写入一个字节
public void write(byte[] b,int off,int len); 将参数b中指定的len个字节顺序地写入缓冲区
public byte[] toByteArray(); 返回输出流写入到缓冲区的全部字节
数据流:
DataInputStream(InputStream in)创建的数据输入流指向一个由参数in指定的底层输入流
DataOutputStream(OutnputStream out)创建的数据输出流指向一个由参数out指定的底层输出流
对象流:
1、构造方法是:
ObjectInputStream(InputStream in)
ObjectOutputStream(OutputStream out)
2、相关方法:
writeObject(Object obj) 将一个对象obj写入到一个文件
readObject() 读取一个对象到程序中
Scanner解析文件:
Scanner sc = new Scanner(file);
sc.useDelimiter(正则表达式);
相关方法
next() 依次返回file中的单词
hasNext() 判断file最后一个单词是否已被next()方法返回
文件对话框:
1、构造方法:
JFileChooser()创建初始不可见的有模式的文件对话框。
2、方法:
showSaveDialog(Component a);
showOpenDialog(Component a);
带进度条的输入流:
ProgressMonitorInputStream(Conmponent c,String s,InputStream);