Как мне это решить? java.io.IOException: поток закрыт - PullRequest
0 голосов
/ 12 января 2019

Пожалуйста, помогите мне. Я работаю со своим кодом стоп-слова, используя 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 голосов
/ 12 января 2019

Вы должны исправить вашу bb инициализацию:

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

xx.available() вместо x.available()

...