流、文件、文本应用

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());
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值