一、 流的分类
1.按数据流的方向不同:
输入流,输出流。
2. 按处理数据单位不同:字节流(InputStream,OutputStream),字符流(Reader,Writer)。
(1) 字节流:数据流中最小的数据单元是字节。
(2) 字符流:数据流中最小的数据单元是字符, Java中的字符是Unicode编码,一个字符占用两个字节。
3.按功能不同:节点流,处理流。
(1)程序用于直接操作目标设备所对应的类叫节点流。
(2)程序通过一个间接流类去调用节点流类,以达到更加灵活方便地读写各种类型的数据,这个间接流类就是处理流。
文件输入流
FileInputStream
文件输出流
FileOuterStream
字符输入流
FIleInputStream
字符输出流
FileOutputStream
对象输入流
objectInputStream
对象输出流
objectOutputStream
缓冲流输出流
BufferedWriter
缓冲流输入流
BufferedReader
桥转换流
InputStream/OutputStreamWriter(文件输入输出流,“字符编码”)
File类
public static void main(String[] args) throws IOException, InterruptedException{
File file = new File("D:\\sb");
if(!file.exists())
{
boolean b=file.mkdirs();
System.out.println("文件创建结果"+b);
}
//System.out.println("删除结果"+file.delete());
// file.deleteOnExit();
// Thread.sleep(5000);
System.out.println(file.getAbsolutePath());
System.out.println(file.getPath());
System.out.println(file.getName());
System.out.println(file.getParent());
System.out.println(file.length());
System.out.println(new Date(file.lastModified()).toLocaleString());
System.out.println("是否是文件"+file.isDirectory());
File file2 = new File("D:/2345");
String[] sb=file2.list();
for (String string : sb) {
System.out.println(string);
}
File[] files=file2.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
// TODO Auto-generated method stub
if(pathname.getName().endsWith(".jpg"))
{
return true;
}
return false;
}
});
for (File file3 : files) {
System.out.println(files);
}
}
fileFiliter文件过滤流
boolean accept (文件)
{
}
properties:属性集合
1存储属性名和属性值
2.属性名和属性值都是字符串类型
3没有泛型
4和流有关
getProperty(String key)
通过key 来获得搜索属性
load 通过流读取属性列表
setProperty
store 保存