如何检查文本文件中的输入?

时间:2015-04-08 20:26:44

标签: java

我想在文本文件中读取两个整数值。我写了FileScanner和其他必要的部分,但我想查看内容。

例如,在这个文件中应该有两样的东西:

MAX=number1 MIN=number2

我必须检查很多情况,如

1)MAX,MIN顺序。 MIN或MAX值不能在新行中。每个都应该像MAX,MIN一样订购 2)整数值。例如MAX:13 MIN:45A(Wrong number format)

我的问题是,如何分隔这些String ( MAX , MIN )和整数值来检查这些情况,还是应该将它们分开来检查它们的格式?

2 个答案:

答案 0 :(得分:0)

对于你的例子,你可以使用Scanner的nextLine()或BufferedReader的readLine()获取整行,你最终得到一个字符串" MAX = number1 MIN = NUM​​BER2"

请注意,它们之间有一个空格。如果你确定在任何其他地方不能有任何空格,你可以使用String的split()方法。

在代码中,它看起来像这样:

String line = in.nextLine(); // Scanner input from text file
String[] array = line.split(" "); // split according to the space, you'll end up with "MAX=number1" and "MIN=number2"

更进一步,要将MAX和MIN与它们的数字分开,可以使用split(" =")。你可以弄清楚其余部分。

答案 1 :(得分:0)

   String filePathString="PATH"+fileName;
    File f = new File(filePathString);      
            ///////////////////////////////////////////
            if(f.exists() && !f.isDirectory()) {                
                scanFile = new Scanner (new File(fileN`enter code here`ame));
                okuyucu = new Scanner (new File(fileName));
            }   

    while(scanFile.hasNextLine()){
                    zz=scanFile.nextLine();
                    if(zz.contains("MAX")){
                        bir=true;
                        holder1[0]=zz;
                    }
                    if(zz.contains("MIN")){
                        iki=true;
                        holder1[1]=zz;
                    }