使用scanner / reader / bufferedreader读取文本文件以读取.txt文件中的数字

时间:2012-11-26 11:56:38

标签: java eclipse text-files

我正在尝试在java中编写一个小程序,它将根据球体的半径计算球体的表面和体积。这些半径来自.txt文件,只有一列数字。

我尝试了一下这个: Reading numbers in java

代码示例对我来说看起来有点复杂,因为我在阅读java代码时并不熟悉且经验丰富。我也试过读这个:

Opening and reading numbers from a text file

我对'try'关键字感到困惑,除此之外,它有什么用?

第二个例子说File("file.txt");我是否放入了文本文件的路径?

如果有人能指出我将通过这些事情接受初学者的教程,我非常想知道。

到目前为止,这是我的代码:

import java.io.*;

//此类读取包含单列数字

的文本文件(.txt)

public class ReadFile {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub

    String fileName = "/home/jacob/Java Exercises/Radii.txt";

    Scanner sc = new Scanner(fileName);

}

}

致以最诚挚的问候,

Jacob Collstrup

2 个答案:

答案 0 :(得分:0)

这是一个简单的小片段:

Scanner in = null;
try {
    in = new Scanner(new File("C:\\Users\\Me\\Desktop\\rrr.txt"));
    while(in.hasNextLine()) {
        int radius = Integer.parseInt(in.nextLine());

        System.out.println(radius);
        // . . .
    }
} catch(IOException ex) {
    System.out.println("Error reading file!");
} finally {
    if(in != null) {
        in.close();
    }
}

try-catch块是Java中用于处理例外的块。您可以阅读有关它们的所有信息,以及它们在这里有用的原因:http://docs.oracle.com/javase/tutorial/essential/exceptions/


当然,如果您使用 Java 7 或更高版本,可以使用名为try-with-resources的内容简化以前的代码。这是另一种try块,除了这将自动关闭任何“自动关闭”流,删除代码中丑陋的finally部分:

try (Scanner in = new Scanner(new File("C:\\Users\\Me\\Desktop\\rrr.txt"))) {
    while(in.hasNextLine()) {
        int radius = Integer.parseInt(in.nextLine());

        System.out.println(radius);
        // . . .
    }
} catch(IOException ex) {
    System.out.println("Error reading file!");
}

您可以在此处详细了解try-with-resourceshttp://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html

rrr.txt文件每行应该只有一个数字,如下所示

10
20
30

答案 1 :(得分:0)

- try/catch最后是处理ExceptionsErrors的方式(同时扩展 {{1}在执行某些工作时出现的。

例如:文件I / O,网络操作等。

Throwable Class