解析Java .txt文件并将每个元素保存在数据结构中

时间:2018-01-16 18:26:13

标签: java

我需要解析Java中的.txt文件

enter image description here

如何解析每个元素并将其保存在数据结构中?

例如,元素[0]将为480,元素[3]将为100,依此类推...... 我必须跳过所有的空间 这是我写的代码,问题是下次显示的不是下一个令牌,而是下一个字符!

import java.io.File;

import java.io.FileNotFoundException;
import java.util.Scanner;

public class main {
public static void main(String[] args) {


    Scanner inFile1 = null;
    try {
        inFile1 = new Scanner(new File("C:\\Users\\emiliano\\Desktop\\dataset\\RanReal480\\RanReal480_01.txt")).useDelimiter("\\s*");
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }


    System.out.println(inFile1.next());
    System.out.println(inFile1.next());
    System.out.println(inFile1.next());
    System.out.println(inFile1.next());
    System.out.println(inFile1.next());
    System.out.println(inFile1.next());

    inFile1.close();


    }
 }

非常感谢!!!

1 个答案:

答案 0 :(得分:0)

嗨在这种情况下,如果您不确定数组的大小,我们可以利用ArrayList,请查看下面的代码,我试图读取由空格分隔的行并添加到arraylist。您也可以使用该数组。

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class AdvanceCollection {
    static List<String> arr = new ArrayList<String>();

    public static void main(String[] args) {

        try {

            File file = new File("path of your file");

            Scanner input = new Scanner(file);

            while (input.hasNextLine()) {
                // here we are getting the full line
                String s[] = input.nextLine().split(" ");
                for (String text : s) {
                    arr.add(text);

                }

            }
            input.close();
            // here you can get the value by get method
            System.out.println(arr.get(0));
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

}