如何从文件中的一行读取单词和整数

时间:2015-10-14 16:36:08

标签: java string file io integer

我的代码在这里: -

package testFiles;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner;

public class ReadFile {
public static void main(String[] args){
    FileReader in=null;
    FileWriter out=null;
    String line;
    File fp=new File("readFrom.txt");
    try {
        Scanner sc=new Scanner(fp);
        //System.out.println(sc.next());
        if(sc.next().contentEquals("Coding")){
            System.out.println("####");
            while(sc.next().contentEquals("\n")==false){
                if(sc.nextInt()==1){
                    System.out.println("Coding is set.");
                }
                else{
                    System.out.println("Coding is not set.");
                }
            }
        }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}
}

我打算做什么:我想从文件中读出一个单词" Coding"。在这个word.ie之后的空格后面会有一个整数。该文件将是: Coding 1 阅读'编码'程序应该读取相应的数字并返回'设置'如果数字是1,并且未设置'如果数字不是1。

我的问题:我可以阅读字符串并验证它是否可以编码。但是我无法获得该号码。

我想要什么:我希望程序读取字符串以及相应的数字和基于条件返回语句。记住单词 "编码"并且数字在同一行。 请指导我。

2 个答案:

答案 0 :(得分:1)

您应该为{while}条件添加$scope.tasks.push({"text": $scope.newTask}); sc.hasNext();会读取下一个值,在检查您的状况时您会丢失它。我还在sc.next();上添加了一些关于流关闭操作的建议。

  

以下代码打印:

finally
  

“readFrom.txt”包含文字:“Coding 1”

Coding
Coding is set.

答案 1 :(得分:1)

示例代码

    while(sc.hasNext()){
        try{
           String str = sc.nextLine();
           String strArray[] = str.split(" ");
           if ( strArray.length > 1 &&  strArray[0].equals("Coding")){
               int count = Integer.parseInt(strArray[1]);
               // check for count value == 1 or  not and do processing
               if ( count == 1){
                    System.out.println("Coding set");
               }else{
                   System.out.println("Coding not set");
               }
           }else{
                System.out.println("Coding not set");
           }
         }catch(Exception err){
             err.printStackTrace();
         }
    }