我是个JAVA新手,跪求Scanner提取.txt文件中的信息的用法……我需要从一个.txt文件中一行一行的获得数据,如
63 3 55 3 6 0 50 3 
63 3 53 3 4 0 3 1 1 0 50 3 
每行中第一和第二个数是一组,分别存进两个不同的数组,如63存入一个数组,3存入另一个数组,一次类推。
请问该如何使用Scanner实现呢?拜谢!!!

解决方案 »

  1.   

    思路:对每一行进行扫描, 扫描后得到一行String, 然后用String.split(" ")劈开成String[]数组再取出你要的第i个String, 然后在将String转化为int, 保存到目的数组.你需要复习的知识:1. 如何读文本文件2. 如何使用String的split函数
      

  2.   

    对,每行扫描后成为一个String数值,然后分割开,
    数组下标为0,2,4....,偶数位的就放一数组,其余的放另一数组·
      

  3.   


    package com.jwh.cn;import java.io.File;
    import java.io.FileNotFoundException;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Scanner;public class IOTest {
    static File file = new File("src/com/jwh/cn/a.txt");  //文件路径

    public static void main(String[] args) {
    List list1 = new ArrayList();
    List list2 = new ArrayList();
    try {
    Scanner s = new Scanner(file);
    for (int i = 1;s.hasNext();i++) {//根据读取的第几个数来控制放入的list
    if(i%2==0){
    list1.add(s.nextInt());
    }else{
    list2.add(s.nextInt());
    }

    }
    } catch (FileNotFoundException e) {

    e.printStackTrace();
    }

    for (Iterator iterator = list2.iterator(); iterator.hasNext();) {
    Integer object = (Integer) iterator.next();
    System.out.println(object+"==1"); //输出测试
    }

    for (Iterator iterator = list1.iterator(); iterator.hasNext();) {
    Integer object2 = (Integer) iterator.next();
    System.out.println(object2+"==2");//输出测试
    }
    }
    }
    a.txt65 2 34 58 98 90 12
    76 78 99 00 09 08 98
    输出结果
    65==1
    34==1
    98==1
    12==1
    78==1
    0==1
    8==1
    2==2
    58==2
    90==2
    76==2
    99==2
    9==2
    98==2