我该如何解决? java.io.IOException:流关闭

时间:2019-01-12 11:34:51

标签: java fileinputstream

请帮助我。我正在使用 FileInputStream 处理我的停用词代码,但出现了一条错误消息,提示 java.io.IOException:流已关闭。我正在YouTube上学习一个教程:https://www.youtube.com/watch?v=ckQUlI7x7hI,他的代码运行没有错误。

代码如下:

    import java.io.FileInputStream;
    import java.util.ArrayList;

    public class DataCleaning {


    public static void main(String[] args) {

        ArrayList sw = new ArrayList<>();

        try{
            FileInputStream x = new FileInputStream("/Users/Dan/Desktop/DATA/stopwords.txt");

            byte b[] = new byte[x.available()];
            x.read(b);
                x.close();

                String data[] = new String(b).split("\n");

            for(int i = 0; i < data.length; i++)
            {
                sw.add(data[i].trim());
            }
             FileInputStream xx = new FileInputStream("/Users/Dan/Desktop/DATA/cleandata.txt");

            byte bb[] = new byte[x.available()];
            xx.read(bb);
                xx.close();

                String dataa[] = new String(bb).split("\n");



                for(int i = 0; i < dataa.length; i++)

            {
                String file = "";
                String s[] = dataa[i].split("\\s");
                for(int j = 0; j < s.length; i++)
                {
                    if(sw.contains(s[j].trim().toLowerCase()))
                    {
                        file=file + s[j] + " ";
                    }

                }
                System.err.println(file + "\n");
            }

        } catch(Exception a){
            a.printStackTrace();
        }

    }

}

这是我运行代码时的错误:

java.io.IOException: Stream Closed
at java.io.FileInputStream.available(Native Method)
at datacleaning.DataCleaning.main(DataCleaning.java:28)

1 个答案:

答案 0 :(得分:1)

您必须修复bb初始化:

byte bb[] = new byte[xx.available()];

xx.available()而不是x.available()