📜  Java Java类设置 2

📅  最后修改于: 2022-05-13 01:54:36.272000             🧑  作者: Mango

Java Java类设置 2

Java中的 StringTokenizer 类 |设置 1

StreamTokenizer 类 - 第 2 组

方法:

  1. parseNumbers() : Java.io.StreamTokenizer.parseNumbers()指定解析StreamTokenizer中的数字,使得每个字符——“0,1,2,3,4,5,6,7,8,9”都有一个数字属性。
    当解析器遇到具有双精度浮点数格式的单词标记时,它会将标记视为数字而不是单词,方法是将 ttype 字段设置为值 TT_NUMBER 并将标记的数值放入nval 字段。
    句法 :
    public void parseNumbers()
    Parameters :
    -----------
    Return :
    void

    执行 :

    // Java Program  illustrating use of parseNumbers() method
      
    import java.io.*;
    public class NewClass
    {
        public static void main(String[] args) throws InterruptedException,
        FileNotFoundException, IOException
        {
            FileReader reader = new FileReader("ABC.txt");
            BufferedReader bufferread = new BufferedReader(reader);
            StreamTokenizer token = new StreamTokenizer(bufferread);
      
            // Use of parseNumbers() method
            // specifies that the number in StreamTokenizer is parsed
             token.parseNumbers();
      
            int t;
            while ((t = token.nextToken()) != StreamTokenizer.TT_EOF)
            {
                switch (t)
                {
                case StreamTokenizer.TT_NUMBER:
                    System.out.println("Number : " + token.nval);
                    break;
                case StreamTokenizer.TT_WORD:
                    System.out.println("Word : " + token.sval);
                    break;
      
                }
            }
        }
    }
    

    笔记 :
    该程序不会在此处运行,因为不存在“ABC”文件。您可以在系统上的Java编译器上检查此代码。
    要检查此代码,请在您的系统上创建一个文件“ABC”。
    “ABC”文件包含:

    你好极客 1
    这 2
    3是
    约 4
    解析数字()

    输出 :

    Word : Hello
    Word : Geeks
    Number : 1.0
    Word : This
    Number : 2.0
    Number : 3.0
    Word : is
    Word : about
    Number : 4.0
    Word : parseNumbers
  2. quoteChar() : Java.io.StreamTokenizer.quoteChar(int arg)指定它将匹配字符分隔为 StreamTokenizer 中的字符串常量。
    当 nextToken 方法遇到字符串常量时,将 ttype 字段设置为字符串分隔符,将 sval 字段设置为字符串的正文。
    句法 :
    public void quoteChar(int arg)
    Parameters :
    arg : the character to be dilimit 
    Return :
    void

    执行 :

    // Java Program  illustrating use of quoteChar() method
      
    import java.io.*;
    public class NewClass
    {
        public static void main(String[] args) throws InterruptedException,
                                                 FileNotFoundException, IOException
        {
            FileReader reader = new FileReader("ABC.txt");
            BufferedReader bufferread = new BufferedReader(reader);
            StreamTokenizer token = new StreamTokenizer(bufferread);
      
            // specify o as a quote char
            token.quoteChar('o');
      
            int t;
            while ((t = token.nextToken()) != StreamTokenizer.TT_EOF)
            {
                switch (t)
                {
                case StreamTokenizer.TT_WORD:
                    System.out.println("Word : " + token.sval);
                    break;
                case StreamTokenizer.TT_NUMBER:
                    System.out.println("Number : " + token.nval);
                    break;
                default:
                    System.out.println((char) t + " encountered.");
      
                }
            }
        }
    }
    

    笔记 :
    该程序不会在此处运行,因为不存在“ABC”文件。您可以在系统上的Java编译器上检查此代码。
    要检查此代码,请在您的系统上创建一个文件“ABC”。
    “ABC”文件包含:

    你好
    极客


    关于
    报价字符()

    输出 :

    Word : Hell
    o encountered.
    Word : Geeks
    Word : This
    Word : is
    Word : ab
    o encountered.
    Word : qu
    o encountered.
  3. resetSyntax() : Java.io.StreamTokenizer.resetSynatx()在遇到数字时重置语法,以便在 StreamTokenizer 中将所有字符设置为“普通”。
    句法 :
    public void resetSyntax()
    Parameters :
    ---------
    Return :
    void

    执行 :

    // Java Program  illustrating use of resetSyntax() method
      
    import java.io.*;
    public class NewClass
    {
        public static void main(String[] args) throws InterruptedException,
                                                 FileNotFoundException, IOException
        {
            FileReader reader = new FileReader("ABC.txt");
            BufferedReader bufferread = new BufferedReader(reader);
            StreamTokenizer token = new StreamTokenizer(bufferread);
      
             
            int t;
            while ((t = token.nextToken()) != StreamTokenizer.TT_EOF)
            {
                switch (t)
                {
                case StreamTokenizer.TT_WORD:
                    System.out.println("Word : " + token.sval);
                    break;
                case StreamTokenizer.TT_NUMBER:
                      
                     // Use of resetSyntax() 
                     token.resetSyntax();
      
                    System.out.println("Number : " + token.nval);
                    break;
                default:
                    System.out.println((char) t + " encountered.");
      
                }
            }
        }
    }
    

    笔记 :
    该程序不会在此处运行,因为不存在“ABC”文件。您可以在系统上的Java编译器上检查此代码。
    要检查此代码,请在您的系统上创建一个文件“ABC”。
    “ABC”文件包含:

    你好


    重置语法()
    1个样本
    2 🙂
    3
    输出 :

    Word : Hello
    Word : This
    Word : is
    Word : resetSyntax
    ( encountered.
    ) encountered.
    Number : 1.0
      encountered.
    x encountered.
    m encountered.
    p encountered.
    l encountered.
     encountered.
    
     encountered.
    2 encountered.
      encountered.
    : encountered.
    ) encountered.
     encountered.
    
     encountered.
    3 encountered.
  4. slashSlashComments() : Java.io.StreamTokenizer.slashSlashComments(boolean arg)指定是否考虑 C++ – 标记器的样式注释。如果 'arg' 设置为 true,则 StreamTokenizer 识别并忽略 C++ 样式注释。 '//' 被认为是评论的开始。
    如果 flag 参数为 false,则不会对 C++ 样式的注释进行特殊处理。
    句法 :
    public void slashSlashComments(boolean arg)
    Parameters :
    arg : tells whether to recognise and ignore C++ - style comments or not.
    Return :
    void

    执行 :

    // Java Program  illustrating use of slashSlashComments() method
      
    import java.io.*;
    public class NewClass
    {
        public static void main(String[] args) throws InterruptedException,
                                                   FileNotFoundException, IOException
        {
            FileReader reader = new FileReader("ABC.txt");
            BufferedReader bufferread = new BufferedReader(reader);
            StreamTokenizer token = new StreamTokenizer(bufferread);
      
            // Use of slashSlashComments()
            // Here 'arg' is set to true i.e. to recognise and ignore C++style Comments
            boolean arg = true;
            token.slashSlashComments(arg);
      
            int t;
            while ((t = token.nextToken()) != StreamTokenizer.TT_EOF)
            {
                switch (t)
                {
                case StreamTokenizer.TT_WORD:
                    System.out.println("Word : " + token.sval);
                    break;
                case StreamTokenizer.TT_NUMBER:
                    System.out.println("Number : " + token.nval);
                    break;
                }
            }
        }
    }
    

    笔记 :
    该程序不会在此处运行,因为不存在“ABC”文件。您可以在系统上的Java编译器上检查此代码。
    要检查此代码,请在您的系统上创建一个文件“ABC”。
    “ABC”文件包含:

    这个程序是关于 slashSlashComments // 方法

    此方法将 ABC.txt 文件中的“方法”视为注释,因此忽略它。
    输出 :

    Word : This
    Word : program
    Word : is
    Word : about
    Word : slashSlashComments
  5. slashStarComments() : Java.io.StreamTokenizer.slashStarComments(boolean arg)指定是否考虑分词器的 C 风格注释。如果 'arg' 设置为 true,则 StreamTokenizer 识别并忽略 C 样式注释。 '/*……*/' 被视为注释。
    句法 :
    public void slashStarComments(boolean arg)
    Parameters :
    arg : tells whether to recognise and ignore C - style comments or not.
    Return :
    void

    执行 :

    // Java Program illustrating use of slashStarComments() method
      
    import java.io.*;
    public class NewClass
    {
        public static void main(String[] args) throws InterruptedException,
                                                  FileNotFoundException, IOException
        {
            FileReader reader = new FileReader("ABC.txt");
            BufferedReader bufferread = new BufferedReader(reader);
            StreamTokenizer token = new StreamTokenizer(bufferread);
      
            // Use of slashStarComments()
            // Here 'arg' is set to true i.e. to recognise and ignore Cstyle Comments
            boolean arg = true;
            token.slashStarComments(true);
      
            int t;
            while ((t = token.nextToken()) != StreamTokenizer.TT_EOF)
            {
                switch (t)
                {
                case StreamTokenizer.TT_WORD:
                    System.out.println("Word : " + token.sval);
                    break;
                case StreamTokenizer.TT_NUMBER:
                    System.out.println("Number : " + token.nval);
                    break;
                }
            }
        }
    }
    

    笔记 :
    该程序不会在此处运行,因为不存在“ABC”文件。您可以在系统上的Java编译器上检查此代码。
    要检查此代码,请在您的系统上创建一个文件“ABC”。
    “ABC”文件包含:

    这个程序是关于 slashStarComments /* 方法 */ 123

    此方法将 ABC.txt 文件中的“方法”视为注释,因此忽略它。
    输出 :

    Word : This
    Word : program
    Word : is
    Word : about
    Word : slashStarComments
    Number : 123.0
  6. whitespaceChars() : Java.io.StreamTokenizer.whitespaceChars(int low, int high)将low到high范围内的所有字符指定为空白,仅用于分隔InputStream中的token。
    句法 :
    public void whitespaceChars(int low, int high)
    Parameters :
    low : lower range of character to be white spaced.
    high : higher range of character to be white spaced 
    Return :
    void

    执行 :

    // Java Program illustrating use of whitespaceChars() method
      
    import java.io.*;
    public class NewClass
    {
        public static void main(String[] args) throws InterruptedException,
                                             FileNotFoundException, IOException
        {
            FileReader reader = new FileReader("ABC.txt");
            BufferedReader bufferread = new BufferedReader(reader);
            StreamTokenizer token = new StreamTokenizer(bufferread);
               
            // Use of whitespaceChars() method
            // Here range is low = 'a' to high = 'c'
            token.whitespaceChars('a','d');
      
            int t;
            while ((t = token.nextToken()) != StreamTokenizer.TT_EOF)
            {
                switch (t)
                {
                case StreamTokenizer.TT_WORD:
                    System.out.println("Word : " + token.sval);
                    break;
                case StreamTokenizer.TT_NUMBER:
                    System.out.println("Number : " + token.nval);
                    break;
                }
            }
        }
    }
    

    笔记 :
    该程序不会在此处运行,因为不存在“ABC”文件。您可以在系统上的Java编译器上检查此代码。
    要检查此代码,请在您的系统上创建一个文件“ABC”。
    “ABC”文件包含:

    这个程序是关于 whitespaceChars()

    输出 :

    Word : This
    Word : progr
    Word : m
    Word : is
    Word : out
    Word : whitesp
    Word : eCh
    Word : rs