天天看点

【Java】_ 文本管理相关知识

学习资料来源:斯坦福大学公开课编程方法cs106aJAVA(下载中心有资源)

相关学习资料已上传至下载中心:学习过程中使用的代码、笔记初稿以及课程讲义(有兴趣者可自行下载)

学习过程中的大部分程序需要导入acm.jar包(已上传至下载中心,也可自行进入http://jtf.acm.org/ 进行下载),

文本管理知识:

字符串的使用:

    String:

        String s = readLine();

        char ch = s.charAt(0); —— 根据索引值返回字符

        println(ch);

        String类的方法:

            int length()——返回字符串长度

            chat charAt(int index)——根据索引提取字符

            String substring(int p1, int p2)——取出p1到p2之间的字符串(包括p1不包括p2)

            String substring(int p1)——取出p1到末尾的字符串

            boolean equals(String s2)——判断两个字符串所含内容是否相同

            int compareTo(String s2)——判断两字符串孰大孰小

            int indexOf(char ch) int indexOf(String s)——搜索 (返回某个特定字符或字串的位置)

            String toLowerCase() String toUpperCase()——实现大小写转换

        str == str2 —— 表示str和str2是否是同一个对象,而不是表示其所含内容是否相等

        str2.equals(str)——比较所含内容是否相等(返回真假)

    Character:

        Char ch;

        ch = Character.toUpperCase(ch);——将字母转换为大写

        方法:

            static boolean isDigit(char ch)——返回是否为数字

            static boolean isLetter(char ch)——返回字符是否是字母

            static boolean isLetterOrDigit(char ch)——返回字符是否为字母或是否合法

            static boolean isLowerCase(char ch)——返回字符是否为小写字母

            static boolean isUpperCase(char ch) )——返回字符是否为大写字母

            static boolean isWhiteSpace(char ch) )——返回字符是否为空格

        char是基本数据类型,其对应的类是Character

    char与String的区别:(例如:将字母转换为大写)

        char:

            char ch;

            Character.toUpperCase(ch);

        String:

            String str;

            str.toUpperCase();

分词器(Tokenizers):把一串完整的字符串切分成独立的分词——默认根据空格分词

    用法:

        import java.Util.*; //引包

        String line = “kkk ddd”; //给字符串赋值

        StringTokenizers tokenizer = new StringTokenizer(line);//根据空格对字符串进行分词

        for(int i = 0; tokenizer.hasMoreTokens(); i++){ //提取所有分好的词

            println(tokenizer.nextToken());

        }

    boolean hasMoreTokens();——判断是否还有分词,返回true / false

    String nextToken();——返回下一个分词(大概有点类似于栈,指针最初指向栈顶-空)

读写文件(FILES)    import java.io.*;

    读文件(reading):

        步骤:

            1)打开文件(Open)—— 和存储在于磁盘的对象联系起来

            2)读文件(read)file (line by line)

            3)关闭文件(Close)

        用法:

            BufferedReader rd =    //缓冲读写器

                new BufferedReader(

                    new FileReader(“Student.txt”)); //文件读写器

            while(true){ //按顺序逐行显示文件内容

                String line = rd.readline();

                if( line == null)    break;

                println(line);

            }    

            rd.close;

        BufferedReader(缓冲读写器)         FileReader(文件读写器)

    写文件:

        1)Open

                PrintWriter

        2))Write

                .println

        3)Close

            BufferedReader rd =    new BufferedReader(new FileReader(“Student.txt”)); //读文件

            PrintWriter wr = new PrintWriter(new FileWriter("copy.txt"));//指定文件写入路径

            while (true) {//复制文件

                String line = rd.readLine();

                if (line == null) break;

                println("Read line: [" + line + "]");

                wr.println(line);

            }

            rd.close();

            wr.close();

异常(EXCEPTION)—— 程序执行过程中遇到异常时抛出异常(throws)(需要有对象接收异常)

    用法:(以文件操作为例)

        try{

            Code for file access.    //需要对文件进行操作

        }    catch(IOException ex)){ //捕捉异常

            deal with exception.

        private BufferedReader(String prompt) { //prompt为传入的文件名

            BufferedReader rd = null;

            while (rd == null) {

                try {//读取文件操作

                    String name = readline(prompt);

                    rd = new BufferedReader(

                        new FileReader(name));

                } Catch (IOException ex){

                    println(“bad file”);//读取文件出现异常时执行

                }