流、文件、文本应用

来源:互联网 发布:西安亿才软件 编辑:程序博客网 时间:2024/06/03 18:25

1.流:不同类型的输入、输出抽象为流。
字节流:输入(InputStream)输出(OutputStream)
字符流:输入(Reader) 输出(Writer)

InputStream类:read()方法
OutputStream类:write()方法,flush()方法,close()方法
Reader类:read()方法
Writer类:write()方法,flush()方法,close()方法

2.节点流和处理流
节点流:一个特定的地方(节点)读写数据,直接与节点(如文件)相连
例:文件流、内存流
处理流:已存在的流的连接和封装,过滤流,对节点流或其它处理流进一步处理
例:缓冲处理流

3.流的包装
处理流的构造方法:带一个其它的流对象作参数

BufferedReader in =     new BufferedReader(new FileReader(file));BufferedReader in2 =     new BufferedReader(        new InputStreamReader(            new FileInputStream(file),"utf-8"));s = in2.readLine();

4.标准输入和标准输出
System.in(InputStream类型)
System.out(PrintStream类型)
System.err(PrintStream类型)

标准输入读取数据
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
br.readLine();

5.常见内容读写
(1)二进制流的读写
(2)字符的读写
(3)对象的读写
(4)网络流

6.文件类
Java中,目录(directory, 文件夹)也当作文件处理
File类
(1)目录,文件名操作
(2)测试操作
(3)常规文件信息操作
(4)目录操作

RandomAccessFile类,可以实现对文件的随机读写操作
构造方法
定位方法
读写方法

7.正则表达式
写法: 字符{数量}位置
Pattern类
例:

import java.util.regex.*public class Test{    public static void main(String[] args)    {        Pattern p = Pattern.compile("[,\\s]+");        String[] result = p.split("one,two, three   four ,  five ");        for(int i=0;i<result.length;i++)        {            System.out.println(result[i]);        }    }}

匹配,例:

import java.util.regex.*;public class Test(){    public static void main(String[] args)    throws Exception    {        String pattern = "^[^@]+@[\\w]+(\\.[\\w]+)*$";        String email = "netease@163.com";        boolean flag = Pattern.matches(pattern, email);        System.out.println( ok );    }}

Matcher 类
find方法
appendReplacement

import java.util.regex.*;public class Test{    public static void main(String[] args)    throws Exception     {        Pattern p = Pattern.compile("cat");        Matcher matcher = p.matcher("one cat, two cats in the yard");        StringBuffer sb = new StringBuffer();        while(matcher.find())        {            matcher.appendReplacement(sb, "big $0");        }        matcher.appendTail(sb);        System.out.println(sb.toString());    }}
原创粉丝点击