分割后如何添加字符串

时间:2016-01-29 20:09:06

标签: java file split

我必须做的任务是将包含“int”的文件中的行存储到字符串数组中。该文件的内容是

#include<stdio.h>
#include<conio.h>

void main()
{
    int i=5;
    int j=9;
    int s,t;

    s=i+3;
    t=j+7;
    q=j+4;

    cout<<s<<t<<q;
}   

但是在运行以下代码后,而不是在其中包含3个int语句。编译器只显示最后一个int行。如何存储早期的行?

import java.io.File;
import java.util.Scanner;
import java.lang.*;

public class ReadFile {
    public static void main(String[] args) {
        int i=0;
        String[] myStringArray = new String[]{ };
        try {
            Scanner input = new Scanner(System.in);
            File file = new File("123.txt");
            input = new Scanner(file);

            while (input.hasNextLine()) {
                String line = input.nextLine();
                if(line.contains("int")){
                    myStringArray=line.split("[\\s,;]+");                    
                }
            }

            for(String a :myStringArray){
                System.out.println(a);
            }

            input.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

2 个答案:

答案 0 :(得分:0)

myStringArray=line.split("[\\s,;]+");你在那里替换整个数组。

答案 1 :(得分:0)

myStringArray = ArrayUtils.addAll(myStringArray,line.split("[\\s,;]+"));

您需要将下一个找到的'int'连接到myStringArray的末尾。对于循环的每次交互,您的代码都将覆盖myStringArray