我正在尝试编写代码以从输入的 java 文件中删除注释行。 我收到此错误:

Exception in thread "main" java.lang.NullPointerException

它在return new String(buffer)和程序中随处可见的“String”一词中显示错误。

package javaapplication3;  
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class JavaApplication3 {

    public static void main(String[] args) {
        String source = readFile("sorce.java");    
        System.out.println(source.replaceAll("(?:/\\*(?:[^*]|(?:\\*+[^*/]))*\\*+/)|    (?://.*)",""));    
    }

    static String readFile(String fileName) {    
        File file = new File(fileName);    
        char[] buffer = null;    
        try {    
            BufferedReader bufferedReader = new BufferedReader(
                new FileReader(file));    
            buffer = new char[(int)file.length()];    
            int i = 0;    
            int c = bufferedReader.read();
            while (c != -1) {
                buffer[i++] = (char)c;
                c = bufferedReader.read();    
            }
        } catch (IOException e) {    
            e.printStackTrace();  
        }  
        return new String(buffer);
    }
}

#1楼 票数:0

您初始化buffernull ,而且还必须是null

return new String(buffer);

因此, try块中的这一行从未运行过:

buffer = new char[(int)file.length()];

在它上面的行中一定有一个IOException抛出,但你抓住了它并忽略了它。 这可能是捕获异常时你能做的最糟糕的事情。

通过至少打印堆栈跟踪来正确处理IOException 然后您可以修复该异常的原因并使您的代码工作。

但是,如果有IOException ,那么您必须正确处理这种情况以避免NullPointerException ,可能是让方法的调用者处理IOException

#2楼 票数:0

如果您不希望此变量为空,则绝不能使用“null”初始化变量。

试试看,char buffer []= new char[];

建议:始终在您的方法 main 中:

public static void main(String[] args)throws IOException{

  ask by Shilpa translate from so

未解决问题?本站智能推荐:

1回复

线程“AWT-EventQueue-0”中的异常java.lang.NullPointerException和JTable问题

我有一点问题,所以我一直在研究这个程序,并且由于某种原因它抛出了一个空指针异常。 我有它的工作,但它不会显示我的JTable我试图创建,只是一个空白的窗口,当我包括代码它只是崩溃....任何想法?
1回复

线程“ AWT-EventQueue-0”中的异常java.lang.NullPointerException错误,该怎么办? [重复]

这个问题已经在这里有了答案: 什么是NullPointerException,我该如何解决? 12个答案 该程序将更新一次,我可以进入该表并对其进行更改,然后单击update。 只要不退出程序,我就可以进行更新,一旦我再次运行该程序,我会注意到它保存了我更改的单
1回复

线程“ main”中的异常java.lang.NullPointerException [java]

我有任务要做,我有一点问题,而且我遇到了错误。 我不知道如何修复它: test.main(test.java:29)处的线程“ main”中的异常java.lang.NullPointerException 这是我的代码:
2回复

Java错误“线程“ main”中的异常java.lang.NullPointerException”

错误:“线程“主”中的异常”位于com.vipgamming.Frytree.Game.main(Game.java:47)上的java.lang.NullPointerException” 我不是一个很好的程序员。 只是说和不好的英语。 Game.java: 抱歉,我不知
3回复

java线程“main”中的异常java.lang.NullPointerException [关闭]

我是Java的新手,刚刚尝试了zetcode.com的教程。 他正在他的教程中解释和展示如何创建一个简单的破砖游戏,我阅读他的教程并按照他的方式对游戏进行编程。 最后它没有工作。 错误是: javax.swing.ImageIcon。(ImageIcon.java:205)中的线
3回复

Java:线程“main”java.lang.NullPointerException中的异常

我运行此代码时不断收到此错误,但我不知道如何修复它。 我已经做了大约3个月的Java并且可以使用一些帮助。 基本上该程序要求用户输入每位员工的工资率和工时。 支付率,小时数和员工数是所有将彼此共享相同索引的阵列。 当用户输入员工的工资率和工时时,程序将返回该员工的工资总额。 除了这个错
1回复

线程“ main”中的异常java.lang.NullPointerException(Java,Netbeans)

输出:菜单:1.Carregar ficheiro alunos 2.InserirInformaçõespara Alunos 3.Gravaralteraçõesao ficeiro alunos 4.Carregar ficheiro Grelha 5.Mostrar Grelh
1回复

线程“main”中的异常java.lang.NullPointerException错误在Java

我在Java程序中遇到问题,当我尝试创建一个对象数组时。 线程“main”中的异常java.lang.NullPointerException错误是我得到的错误。 我真的可以使用一些帮助,因为我在这个地方被困了几个小时...... 谢谢你的帮助 ! AT SHIP CLASS: