【问题标题】:Extracting Tokens from a text file java从文本文件java中提取标记
【发布时间】:2014-03-20 09:11:13
【问题描述】:

我正在尝试使用扫描仪从文本文件中提取令牌,文本文件的名称是“ElectricToolData.txt”,

文本文件的内容:

// this is a comment, any lines that start with //
// (and blank lines) should be ignored

// data is rechargeable, power, toolName, itemCode, timesBorrowed, onLoan, cost, weight
true,18V,Makita BHP452RFWX,RD2001,12,false,14995,1800
true,10.8V,Flex Impact Screwdriver FIS439,RD2834,14,true,13499,1200     
false,1350W,DeWalt D23650-GB Circular Saw, RD6582,54,true,14997,5400
false,1500W,Milwaukee DD2-160XE Diamond Core Drill,RD4734,50,false,38894,9000
true,10.8V,Bosch GSR10.8-Li Drill Driver,RD3021,25,true,9995,820
 false,900W,Bosch GSB19-2REA Percussion Drill,RD8654,85,false,19999,4567
true,10.8V,Flex Impact Screwdriver FIS439, RD2835,14,false,13499,1200 
true,18V,DeWalt DW936 Circular Saw,RD4352,18,false,19999,3300 
false,2100W,Sparky FK652 Wall Chaser,RD7625,15,false,29994,8400

以下是我尝试使用不成功的扫描仪从文本文件中提取令牌的尝试:

错误信息(行扫描仪扫描仪):未报告的异常 java.io.FileNotFoundException;必须被抓住或宣布被扔掉。

public void extractTokens()
    {
        //extracts tokens from the text file
        File text = new File("E:/LEWIS BC 2/project 1/ElectricToolData.txt");

       Scanner scanner = new Scanner(text);

       String toolName = scanner.next();
       String itemCode = scanner.next();
       String power = scanner.next();
       String timesBorrowed = scanner.next();
       String onLoan = scanner.next();
       String cost = scanner.next();
       String weight = scanner.next();

       //System.out.println(parts.get(1)); // "en"
    }

任何回复或帮助将不胜感激,因为我真的很困惑..

【问题讨论】:

  • 你必须要么catchnew Scanner(File)throws的异常,要么声明你自己扔。
  • 您是说我可能需要复制该代码吗?还是我复制了该代码? (我没有顺便说一句哈哈)
  • 按照我提到的可能重复的问题的说明,您需要在 try 块中抛出已检查的异常,或者您需要指定该方法抛出已检查的异常。

标签: java


【解决方案1】:

抛出或捕获“FileNotFoundException”

我怀疑您是否没有使用 Eclipse 或 IntelliJ 之类的任何 IDE。它会在那里引发编译警告。无论如何,这段代码应该可以工作

public void extractTokens() throws FileNotFoundException
    {
        // extracts tokens from the text file
        File text = new File("E:/LEWIS BC 2/project 1/ElectricToolData.txt");

        Scanner scanner = new Scanner(text);

        String toolName = scanner.next();
        String itemCode = scanner.next();
        String power = scanner.next();
        String timesBorrowed = scanner.next();
        String onLoan = scanner.next();
        String cost = scanner.next();
        String weight = scanner.next();

        // System.out.println(parts.get(1)); // "en"
    }

【讨论】:

  • 不,我以前用eclipse,但是现在我们的java工作必须使用BlueJ,现在代码编译成功,非常感谢:)
【解决方案2】:

您可能会遇到 IOException 和/或 FileNotFoundException,因此您应该捕获以下 2 个:

public void extractTokens() throws IOException, FileNotFoundException{

    }

【讨论】:

  • 我如何创建一个对象,调用提取并将其添加到数组列表中??
  • 我不明白,对不起。打开一个新线程并发布您的问题和代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-12
  • 2011-11-05
  • 2018-12-29
  • 1970-01-01
  • 2015-04-24
相关资源
最近更新 更多