import java.util.*;
import java.io.*;public class inout { public static void main(String[] args){
 

Scanner sc = new Scanner(new File("E:\\workspace\\inout\\try.txt"));
     while (sc.hasNextLong()) {
         long aLong = sc.nextLong();
     }  }
}
按书上写的,自己查了下相关问题,我现在确实在E:\workspace\inout\下有try.txt文件,但是运行是始终会出现FileNotFoundException异常,请高人指点

解决方案 »

  1.   

    Scanner
    public Scanner(File source)
            throws FileNotFoundException构造一个新的 Scanner,它生成的值是从指定文件扫描的。来自该文件的字节通过基础平台的默认字符集转换成字符。 参数:
    source - 要扫描的文件 
    抛出: 
    FileNotFoundException - 如果源文件未找到
    修改如下:
    Scanner sc = new Scanner("E:\\workspace\\inout\\try.txt"); 
        while (sc.hasNextLong()) { 
            long aLong = sc.nextLong(); 
        }   } 
      

  2.   

    我看的是CORE JAVA的新版,里面提示说如果写成Scanner sc = new Scanner("E:\\workspace\\inout\\try.txt"); 
    这个Scanner会将参数作为包含字符的数据:'E',':'等,是这样么,如果这里面涉及的东西比较复杂,是不是先跳过,等学的多了回头再看比较好?
    谢谢了
      

  3.   

    CORE JAVA  看到文件流 已经学到很多了
      

  4.   

    jdk 中的示例代码:
          Scanner sc = new Scanner(new File("myNumbers"));
          while (sc.hasNextLong()) {
              long aLong = sc.nextLong();
          }
    也是这么写的。可能还是文件名的问题,你试试放到别的目录下,或者改个名字吧,可能名字中有不可见字符吧。
      

  5.   

    Scanner sc=null;
    try {
    sc=new Scanner(new File("F:\\java\\dat2.txt"));
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    long along = 0;
    while(sc.hasNextLong())
    along=sc.nextLong();

    System.out.println("this is values==="+along);
    这样不就不会出现这样的问题了吗,只是数据查询出错吧啦,对于你的情况,可能是 class包,导入的有问题吧!
      

  6.   

    没有找到文件异常,是不是你把路径input错敲成inout了??