我需要读取一个文件,完全拆分文件中的字符串并使用Java将其存储在变量中
见下面的例子,我的文本文件包含
devarajan 1000210 08754540275 600019
ramesh 1000210 08754540275 600019
udhay 1000210 08754540275 600019
我累了使用字符串位置,但它没有用完。
请查找附件样本文件。此致
我的代码:
public class Program {
public static void main(String[] args) {
String line = "devarajan 1000210 08754540275 600019 ";
String[] words = line.split("\\W+");
for (String word : words) {
System.out.println(word);
}
}
}
输出:
devarajan 1000210 08754540276
我的文件将包含字符串10-10的位置,将名称20-30位置将是empid 30-40将电话号码。所以当我使用上一个片段时,我得到了空格" devarajan" " 1000210" ..我应该避免那些空格。
反过来,我的代码在遇到空格而不是位置时就会分裂 @Twelve,@ Kick:我为你的代码片段输出如下输出 但想象一下,如果我的名字前面有一个空格:"十二美元"而不是" twelvedollar",然后名称将被拆分并存储在不同的数组位置。这就是原因,我已经问过是否可以根据位置分割字符串
答案 0 :(得分:0)
只有一种方法可以做到这一点..
try {
Scanner inFile = new Scanner(new File("myInputFile.txt"));
String[] data;
ArrayList<String[]> arr = new ArrayList<String[]>();
while (inFile.hasNext()) {
data = inFile.nextLine().split("\\s+"); // or split("\t") if using tabs
System.out.println(Arrays.toString(data));
arr.add(data);
}
}
catch (FileNotFoundException fe) {
fe.printStackTrace();
}