Java FileInputStream空错误

Java FileInputStream空错误,java,Java,我得到了一个文件本身无法读取的空错误,我做错了什么吗?由于某种原因没有读取文件。我四处搜寻了一段时间,似乎不知道出了什么问题。任何帮助都将不胜感激。此外,inputdata[]字符串数组作为一个全局变量位于顶部,但它确实存在,我遇到的问题是读取文件的过程中,据我所知,其他一切都起作用了。谢谢如果这是windows系统,您需要使用反斜杠 import java.util.*; import java.io.*; @SuppressWarnings("unused") public class s

我得到了一个文件本身无法读取的空错误,我做错了什么吗?由于某种原因没有读取文件。我四处搜寻了一段时间,似乎不知道出了什么问题。任何帮助都将不胜感激。此外,inputdata[]字符串数组作为一个全局变量位于顶部,但它确实存在,我遇到的问题是读取文件的过程中,据我所知,其他一切都起作用了。谢谢

如果这是windows系统,您需要使用反斜杠

import java.util.*;
import java.io.*;

@SuppressWarnings("unused")
public class search 
{
public static String[] inputdata;
public static String[] routedata;

public static void main(String[] args)
{
    inputdata();
    routedata();

}

public static void inputdata()
{
    String strline;
    File data = new File("C:\\data\\sample_in.txt");
    int i=0;
    try
    {
        FileInputStream fstream = new FileInputStream(data);
        DataInputStream in = new DataInputStream(fstream);
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        while ((strline = br.readLine()) != null)
        {
            //inputdata[i]=strline;
            System.out.println(strline);
            i++;
        }
    }
    catch (Exception e)
    {//Catch exception if any
        System.err.println("Error: " + e.getMessage());
    }
}

public static void routedata()
{
    String strline;
    File routes = new File("C:\\data\\routes.txt");
    int i=0;
    try
    {
        FileInputStream fstream = new FileInputStream(routes);
        DataInputStream in = new DataInputStream(fstream);
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        while ((strline = br.readLine()) != null)
        {
            //routedata[i]=strline;
            i++;
        }
    }
    catch (Exception e)
    {//Catch exception if any
        System.err.println("Error: " + e.getMessage());
    }
}

}

您得到的是null,因为它找不到文件

如果这是windows系统,则需要使用反斜杠

import java.util.*;
import java.io.*;

@SuppressWarnings("unused")
public class search 
{
public static String[] inputdata;
public static String[] routedata;

public static void main(String[] args)
{
    inputdata();
    routedata();

}

public static void inputdata()
{
    String strline;
    File data = new File("C:\\data\\sample_in.txt");
    int i=0;
    try
    {
        FileInputStream fstream = new FileInputStream(data);
        DataInputStream in = new DataInputStream(fstream);
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        while ((strline = br.readLine()) != null)
        {
            //inputdata[i]=strline;
            System.out.println(strline);
            i++;
        }
    }
    catch (Exception e)
    {//Catch exception if any
        System.err.println("Error: " + e.getMessage());
    }
}

public static void routedata()
{
    String strline;
    File routes = new File("C:\\data\\routes.txt");
    int i=0;
    try
    {
        FileInputStream fstream = new FileInputStream(routes);
        DataInputStream in = new DataInputStream(fstream);
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        while ((strline = br.readLine()) != null)
        {
            //routedata[i]=strline;
            i++;
        }
    }
    catch (Exception e)
    {//Catch exception if any
        System.err.println("Error: " + e.getMessage());
    }
}

}
File data = new File("C:\\data\\sample_in.txt");

您得到的是null,因为它找不到文件

对文件名执行此操作

File data = new File("C:\\data\\sample_in.txt");
    public static void inputdata()
{
    String strline;
    int i=0;
    try
    {
        BufferedReader br = new BufferedReader(new FileReader("C:\\data\\sample_in.txt"));
        while ((strline = br.readLine()) != null)
        {
            inputdata[i]=strline;
            i++;
        }
    }
    catch (Exception e)
    {//Catch exception if any
        System.err.println("Error: " + e.getMessage());
    }
}

对文件名执行此操作

    public static void inputdata()
{
    String strline;
    int i=0;
    try
    {
        BufferedReader br = new BufferedReader(new FileReader("C:\\data\\sample_in.txt"));
        while ((strline = br.readLine()) != null)
        {
            inputdata[i]=strline;
            i++;
        }
    }
    catch (Exception e)
    {//Catch exception if any
        System.err.println("Error: " + e.getMessage());
    }
}

请提供引发的确切异常,以及该异常所指的行。'I'm geting null error for the file本身无法读取。'不,您不能。这里没有证据表明您的问题与“无法读取文件本身的null错误”或您的标题“FileInputStream null错误”相对应。使用您发布的代码,这两种方法都是不可能的。此外,I/O堆栈中的DataInputStream完全没有意义。您的问题无法以当前形式得到回答。请提供引发的确切异常,以及该异常所指的行。“我收到一个空错误,文件本身无法读取。”不,您没有。这里没有证据表明您的问题与“无法读取文件本身的null错误”或您的标题“FileInputStream null错误”相对应。使用您发布的代码,这两种方法都是不可能的。此外,I/O堆栈中的DataInputStream完全没有意义。您的问题无法以目前的形式得到回答。我应该澄清的是,这不是阻止程序运行的错误,错误null是由捕获产生的,并在控制台上作为错误:null输出。您捕获的错误没有消息集。在执行System.err.println()之前先执行e.printStackTrace(),这很奇怪。这是字符串数组,它不能存储整行吗?您初始化了字符串数组的大小吗?如果在开始填充之前大小尚未确定,则最好使用arraylist而不是数组。@Freedoler799——这就是问题所在。您的数组未初始化。初始化它们,如
String[]inputdata=newstring[100]注意,这只允许您添加100行,超过100行,您仍然会得到相同的NPE。我应该澄清一下,这不是阻止程序运行的错误,错误null是由捕获导致的,并在控制台上作为错误:null输出。您捕获的错误没有消息集。在执行System.err.println()之前先执行e.printStackTrace(),这很奇怪。这是字符串数组,它不能存储整行吗?您初始化了字符串数组的大小吗?如果在开始填充之前大小尚未确定,则最好使用arraylist而不是数组。@Freedoler799——这就是问题所在。您的数组未初始化。初始化它们,如
String[]inputdata=newstring[100]请注意,这只允许您添加100行,除此之外,您仍将获得相同的NPE。