将txt文件中的数字分配给java中的String变量?

时间:2017-11-07 18:15:33

标签: java eclipse file bufferedreader

好的,所以我无法弄清楚如何将txt文件中的数字分配给String变量。我的实现ALMOST做了我想要的但是不太正确。使用我的代码,它在txt文件中占用一行,并在每次循环重新启动时重新分配。在输出时的含义,显示的唯一内容是文件的最后一行。我希望它包含整个txt文件。

P.S。)我实际上不需要打印输出变量,我只是用它来验证它是否包含我需要的所有东西。我正在开展一个更大的项目,如果我能够开展这项工作,我应该能够相应地调整我的实际项目。此外,如果给出的任何解决方案/帮助不会让我使用数组,我将非常感激。如果我必须将变量转换为数组,那么我将不得不重新编码其他所有内容以适应它。

public class test {
    public static String num;
    public static void main(String[] args) {

        BufferedReader reader = null;

        try {
            File file = new File("test3_14.txt");
            reader = new BufferedReader(new FileReader(file));

            String line;
            while ((line = reader.readLine()) != null) {
                //System.out.println(line);

                num = line;
                //System.out.println(num);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        System.out.print(num);
    }
}

4 个答案:

答案 0 :(得分:0)

我假设您想将所有数字连接成一个字符串

创建StringBuilder对象

$ go test
--- FAIL: TestTimeFormatting (0.00s)
    main_test.go:14: Invalid timestamp formating, expected 2017-01-02T03:04:05.600+00:00, got 2017-01-02T03:04:05.6+00:00
FAIL
exit status 1
FAIL    _/home/sasa/Bugs/go-formatter   0.001s

为其添加行:

StringBuilder stringBuilder = new StringBuilder();

循环结束后,构建String并将其保存在varible

stringBuilder.append(line);
stringBuilder.append(","); // if you want to separate the numbers

答案 1 :(得分:0)

您是否尝试将num = line;更改为num += line;

答案 2 :(得分:0)

从代码中可以看出,您没有将新行附加到文本中。你每次都要压倒它。您可以按照以下任何一种方法进行操作 -

  • 而不是使用(=),请使用(+ =)。更好的方法是使用Stringbuilder并稍后转换为字符串。

  • 您可以使用FileUtils.readFileToString(File,Charset)。此方法将文件的内容读取为字符串。

  • 如果您使用的是Java 8,则可以使用Files.lines()方法获取Stream。

答案 3 :(得分:0)

从您的代码中可以看出,您没有将该行附加到文本中。你每次都要压倒它。您可以按照以下任何一种方法进行操作 -

  • 而不是使用(=),请使用(+ =)。更好的方法是使用Stringbuilder,然后将其转换为字符串。

  • 您可以使用FileUtils.readFileToString(File,Charset)。此方法允许您将整个文件读取为字符串。

  • 如果您使用的是Java 8,还可以使用Files.lines()来获取Stream。