Java读取文件并将文本存储为数组

时间:2013-11-07 22:00:19

标签: java arrays storing-data

我写了一个程序,有人告诉我要读取文件并将文本存储为数组,但是当我运行程序时,我收到的错误看起来像这样:

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);
    }
}

}

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

您有两个选择:

  1. 将文件放在工作目录中,从那里运行java命令
  2. 初始化扫描仪时,请将完整路径new Scanner(new File("/file/path/to/KeyWestTemp.txt"))设置为文件

答案 2 :(得分:0)

两种解决方法:

  1. 将您的txt文件放在Java程序的同一目录中。
  2. 写下txt文件的完整路径(c:/ files ...)。请记住使用File.separator而不是&#34; /&#34;或&#34; \&#34;使程序平台独立。