从文件输入/变量Java解析长文字

时间:2015-03-07 08:09:59

标签: java parsing long-integer literals numberformatexception

我正在尝试从.txt文件中的数字列表中进行一些大型计算。我需要使用long,特别是字面长,因此每次从文件中获取新值时,我需要在末尾包含“L”或“l”。 int litterals一直给我留下否定的答案......我每次读取文件时都尝试添加一个'L'后缀但Long.valueOf()会抛出一个NumberFormatException。如何将解析后的long声明为文字长?

import java.util.*; 
import java.io.*;
public class Test{

public static void main(String[] args) throws FileNotFoundException{
    File numFile = new File("numbers.txt");
    Scanner in = new Scanner(numFile);
    int total = 0;
    Long tmp;
    while(in.hasNextLine()){
        tmp = Long.valueOf(in.nextLine().substring(0,12));
        System.out.println(tmp);
        total += tmp;
    }
}

我很欣赏这里的所有帮助,但你们都忽略了我的问题......我的问题是:我怎样才能将解析后的long声明为长文字?(考虑到我从不硬连接一个值)。上面的例子是无关的,它不需要调试,它只是我想要做的简短演示。

1 个答案:

答案 0 :(得分:2)

如果单个数字对于int来说太大,那么它们的总和也是如此。还可以使用long作为总数。