流
流是一组有序的数据序列,根据操作类型,可以分为输入流、输出流两种。
输入流
InputStream是字节输入流的抽象类,是所有字节输入流的父类。
方法 see below
read() : 从输入流中读取数据的下一字节。返回0~255范围的int字节值
注意:不是所有的Inputstream类的子类都支持InputStream中定义的方法。如skip()、mark()、等只对某些子类有用
输出流
OutStream类是字节输出流的抽象类。所有方法都返回void。
write(int b):将指定的字节写入此输出流
write(byte[] b):将b个字节从指定的数组byte数组写入此输出流
write(byte[] b,int off,int len):从off开始len个字节写入此输出流
flush():彻底完成输出并清空缓存区
close():关闭输出流
File类
文件的创建与删除
1.File(String pathname)==》pathname指路径名称 例如 d:/1.txt
2.File(String pathname,String child)根据定义的父路径和子路径字符串创建一个新的File对象。
new File(String pathname,String child);
3.File(File f,String child)
根据parent抽象路径和child路径名字字符串创建一个新实例
当用File类创建一个文件对象后 see below(pay attention to)
File file = new File("world.txt");
如果当前目录不存在名为word的文件,File类对象可以通过调用creatrNewFile()方法创建一个文件,反之,如果已经存在,可通过delete()方法删除。
例
//代码准确性不可考,bug有点搞就没改对了。但还是有一点点参考价值,2333
public class FileTest{
public static void mian(String[] args){
File file = new File("word.txt");
if(file.exists()){//如果文件存在
file.delete();
System.out.println("delete file");
}
else
{
try{
file.createNewFile();
System.out.println("creat file");
}
catch(Exception e)
{
e.prinStackTrace();
}
}
}
}
获取文件信息
看表格吧,敲出来有点多!!!
文件输入输出流
FileInputStream类和FileOutStream类都用来操作磁盘文件。
FileInputStream(String name)==》使用给定的文件名name创建一个FileInputStream对象
FileInputStream(File file)==》允许把文件连接输入流之前对文件进行一个分析//这句话没懂我透
FileReader类和FileWriter类
顺序地读取文件只要不关闭流,调用read()就可。
带缓存的输入输出流
BufferedInputstream与BufferedOutputStream类
BufferedInputstream类的构造方法
BufferedInputstream(InputStream in);
创建一个带有32个字节的缓存流
BufferedInputstream(InputStream in,int size);
按指定大小来创建缓存区
BufferedInputstream有一个flush()方法用来将缓存区的数据强制输出完。
flush具体看图(下面会在提到)
BufferedReader与BufferdWriter类
(分别继承了Reader类与Writer类)
BufferedReader的常用方法
read():读取单个字符
readLine():读取一个文本行
write(String s,int off,int len):写入字符串的某一部分
flush():刷新该流的缓存
newLine():写入一个行分隔符
数据输入输出流
DataInputStream类与DataOutputStream类
java中的字符是Unicode编码(双字节),writeBytes只是将字符串中的每一个字符低字节内容写入目标设备;writeChars将字符串的每一个字符的两个字节的内容都写到目标设备中;writeUT按照UTf编码后的字节长度写入目标设备,然后才是每一个字节的UFT编码。