java读取TXT文件 我把10万个数字存在了TXT文件中以空格分隔 我想读出来该怎么办(用java )

如题所述

引用上楼的回答:
Scanner scanner = new Scanner(new File("F:\\*.txt"));
scanner.useDelimiter("\\s");
while(scanner.hasNextInt()){
System.out.println(scanner.nextInt());
}
我再给你解释一下:
useDelimiter(Pattern pattern)这个方法是Scanner中用于设置分隔符的,默认情况下scanner分割符是空格,你这个程序中就是用正则表达式来设置分隔符,"\\s*fish\\s*"前面的一个\\s*表示空格出现0次或多次接着出现fish接着出现0个或多个空格,只要scanner扫描遇到的数据符合这个正则表达式,前面的就当一个数据就可以用Scanner中的next()返回取得数据。
通过这个解释你就可以知道如何利用useDelmiter来消除空格。追问

哥采用你这种方法读出的数据不全啊!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-18
public class Test {

public static void main(String[] args) throws IOException {

RandomAccessFile raf = new RandomAccessFile("file", "r");
ArrayList<Integer> nums = new ArrayList<Integer>();
String cLine = raf.readLine();
String mes = "";

while (cLine != null) {
mes += cLine;
if (cLine.endsWith(" ")) {
getNums(mes, nums);
mes = "";
cLine = raf.readLine();
}
}
getNums(mes, nums);
}

public static void getNums(String str, List<Integer> list) {
String[] nums = str.split(" ");
for (String num : nums) {
list.add(Integer.parseInt(num));
}
}
}
第2个回答  2013-09-18
Scanner scanner = new Scanner(new File("F:\\*.txt"));
scanner.useDelimiter("\\s");
while(scanner.hasNextInt()){
System.out.println(scanner.nextInt());
}
第3个回答  2013-09-18
用流读取数据,fileinputStream,然后放入buffered....然后一行一行读取,将结果放入stringbuffer中追问

能说得详细点吗?

第4个回答  2013-09-18
一遍读入,一遍切割
相似回答
大家正在搜