0

我正在写文件用户输入,然后阅读它。为了写入文件,我正在使用这样的格式化程序

output.format("%-10s%-20s%-20s%-20s%-20s%-20s%-20s%-20s\n",
                                        year_n,
                                        months[month_n],                        
                                        record.getIncome(),
                                        df.format(record.getAtv()),
                                        df.format(record.getSumAtv()),
                                        df.format(iedz),
                                        df.format(soc_apd),
                                        df.format(netto));

要再次读取同一个文件,我使用完全相同的表格,但它说无法读取该文件。

读者代码。

try {
            while(input.hasNext())
            {
                record.setYear(input.nextInt());//nolasa vērtības no faila
                record.setMonth(input.nextInt());
                record.setIncome(input.nextDouble());
                record.setAtv(input.nextDouble());
                record.setSumAtv(input.nextDouble());
                record.setIedz(input.nextDouble());
                record.setSoc_apd(input.nextDouble());
                record.setNetto(input.nextDouble());                

                ///rezultātu attēlošana
        System.out.printf("%-10s%-20s%-20s%-20s%-20s%-20s%-20s%-20s%n", //parāda uz ekrāna
                record.getYear(), // piešķir objektam record
                record.getMonth(),
                record.getIncome(),
                record.getAtv());   
                record.getSumAtv();
                record.getIedz();
                record.getSoc_apd();
                record.getNetto();
            }

在最近的一些变化之前,它工作得很好。我虽然那是因为我只为逗号后的 2 个整数格式化了双变量?那可能是问题所在?

我已经像这样设置了异常:

catch (NoSuchElementException elementException){
            System.err.println("Fails nepareizi noformēts");
                input.close();
                System.exit(1); 
        }

每次我尝试读取文件时都会遇到此异常。

写入的文件如下所示:

2013      Oktobris            50000.0             400                 445                 11893.2             5451.05             32655.75  

谢谢,任何帮助表示赞赏:)

4

1 回答 1

0

我找到了解决方案。问题是没有这样的:

record.setMonth(input.nextString());

从 txt 文件中读取字符串时,但只是:

record.setMonth(input.next());

谢谢 :)

于 2013-11-03T20:56:25.110 回答