1

我写了一个程序,有人告诉我要读取文件并将文本存储为数组,但是当我运行该程序时,出现如下错误:

run:
Exception in thread "main" java.io.FileNotFoundException: KeyWestTemp.txt (No such file                or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.util.Scanner.<init>(Scanner.java:656)
at HeatIndex.main(HeatIndex.java:32)

Java 结果:1 构建成功(总时间:0 秒)

我想让我的程序显示数组以确保它正常工作。任何帮助将不胜感激。

下面是程序代码:

import java.util.Scanner;
import java.io.File;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;

public class HeatIndex {

/**
 * @param args the command line arguments
 * @throws java.io.IOException
 */
public static void main(String[] args) throws IOException{
    // TODO code application logic here

    // // read KeyWestTemp.txt

    // create token1
    String token1 = "";

    // create Scanner inFile1
    Scanner inFile1 = new Scanner(new File("KeyWestTemp.txt")).useDelimiter(",\\s*");

    // create List
    List<String> temps = new LinkedList<String>();

    // while loop
    while(inFile1.hasNext()){

        // find next line
        token1 = inFile1.next();

        // initialize temps
        temps.add(token1);
    }

    // close inFile1
    inFile1.close();

    // create array
    String[] tempsArray = temps.toArray(new String[0]);

    // for-each loop
    for(String s : tempsArray){

        // display s to make sure program works correctly
        System.out.println(s);
    }
}

}
4

3 回答 3

2

您的程序无法找到您的文件。确保文件在您的工作目录中,或更改new File("KeyWestTemp.txt")以提供完整路径(例如 C:/Users/...../KeyWestTemp.txt)。

于 2013-11-07T22:02:04.367 回答
1

显然,KeyWestTemp.txtJava 程序找不到该文件。最可能的问题是你没有把它放在正确的地方。

您有 2 个选项:

  1. 将文件放在运行java命令的工作目录中
  2. 初始化扫描仪时,将完整路径:new Scanner(new File("/file/path/to/KeyWestTemp.txt"))设置为文件
于 2013-11-07T22:06:14.723 回答
0

修复它的两种方法:

  1. 将您的 txt 文件放在 Java 程序的同一目录中。
  2. 写入 txt 文件的完整路径(c:/files...)。请记住使用 File.separator 代替“/”或“\”,以使程序平台独立。
于 2013-11-07T22:11:32.167 回答