Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 动态文件读取_Java_Swing_Io_Nullpointerexception_Filereader - Fatal编程技术网

Java 动态文件读取

Java 动态文件读取,java,swing,io,nullpointerexception,filereader,Java,Swing,Io,Nullpointerexception,Filereader,我在JavaSwing中有一段代码,它浏览一个txt文件,然后在文本区域打印文件内容。这就是做这项工作的方法。出于某种我可能忽略的原因,每次测试代码时都会出现空指针异常。你能告诉我我做错了什么,或者提供一个链接吗 private void showText() { try{ //filePathInputField.setText(new File(file.getFile()).getAbsolutePath()); Fi

我在JavaSwing中有一段代码,它浏览一个txt文件,然后在文本区域打印文件内容。这就是做这项工作的方法。出于某种我可能忽略的原因,每次测试代码时都会出现空指针异常。你能告诉我我做错了什么,或者提供一个链接吗

private void showText() {                
    try{
        //filePathInputField.setText(new File(file.getFile()).getAbsolutePath());
        FileReader fr = new FileReader(fileInputPathField.getText());
        BufferedReader br = new BufferedReader(fr);
        while((sourceText = br.readLine()) != null){
            sourceText += br.readLine();
        }
        sourceTextArea.setText(sourceText);
    } catch (Exception ex){
        showMessage();
        ex.printStackTrace();
    }
}
根据您的建议稍微更改代码后,我收到的错误是:

java.io.FileNotFoundException: D:\Java\GUI Project Files\Crypto\Audio Specs.txt (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:97)
    at java.io.FileReader.<init>(FileReader.java:58)
java.io.FileNotFoundException:D:\java\GUI Project Files\Crypto\Audio Specs.txt(系统找不到指定的文件)
在java.io.FileInputStream.open(本机方法)
位于java.io.FileInputStream。(FileInputStream.java:138)
位于java.io.FileInputStream。(FileInputStream.java:97)
位于java.io.FileReader。(FileReader.java:58)

getClass()。getResource()
用于打包文件(也称为资源)。如果
filePathInputField
包含文件系统中文件的路径,则该调用将返回null。您可以使用或的实例来访问它。

谢谢您的输入,但我之前用File尝试过,但结果相同。所以我在这里读了一点,并尝试了URL。还有什么其他想法可以解释为什么会发生这种情况吗?早些时候,我在URL的位置使用了这个代码模块:`sourceTextArea.setText(新文件(File.getFile()).getAbsolutePath())`抱歉,前面的代码是:前面我在URL的位置使用了这个代码模块:`FileReader fr=newFileReader(new File(File.getFile()).getAbsolutePath())`在这种情况下,
newfilereader(新文件(filePathInputField.getText())
应该可以工作。如果没有,请提供更多信息(即NPE的完整stacktrace)。这是我从stacktrace中得到的错误:java.io.FileNotFoundException:Audio Specs.txt(系统找不到指定的文件),位于java.io.FileInputStream.open(本机方法),位于java.io.FileInputStream。(FileInputStream.java:138)位于java.io.FileInputStream。(FileInputStream.java:97)在java.io.FileReader.(FileReader.java:58)1)为了更快地获得更好的帮助,发布一个(最小完整的可验证示例)或(简短、自包含、正确的示例)。2) 始终复制/粘贴错误和异常输出!3) 请看&@AndrewThompson,我已经看到了它们,但仍然无法修复错误。一定是我在编码部分犯了什么错误。下面给出了堆栈跟踪。你能检查一下吗?我不会在注释中读代码或堆栈跟踪。MCVE在哪里?我认为
FileNotFoundException
非常明显:程序找不到文件。检查您在文本字段中提供的路径。