我需要解析Java中的.txt文件
如何解析每个元素并将其保存在数据结构中?
例如,元素[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();
}
}
非常感谢!!!
答案 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();
}
}
}