-1

I was trying to append a text in text file. I am using some new classes added in Java 7. But with my code nothing is added in text file. I have tried some debugging but not getting why it is not writing a text in file.

Here is a code:

public void input(String path, PrintWriter out) throws FileNotFoundException, IOException
{


       String finalstring;

       FileInputStream in = new FileInputStream(path);
       BufferedReader br = new BufferedReader(new InputStreamReader(in));   

       Path FILE_PATH = Paths.get("C:/10", "tweets_6.txt");
       BufferedWriter writer = Files.newBufferedWriter(FILE_PATH, StandardCharsets.UTF_8, StandardOpenOption.APPEND);


       String line;


       while((line = br.readLine()) != null)
       {
            finalstring = line;           

            URLEntity  u;
            finalstring = finalstring.replaceAll("https?://\\S+\\s?", "");
            finalstring=finalstring.replace("#engineeringproblems", " ");
            finalstring=finalstring.replace("#", " ");   


            // Stemming Algorithm

            StringTokenizer st = new StringTokenizer(finalstring);
            String finalstring1;
            finalstring = "";

            while (st.hasMoreTokens()) 
            {
                KrovetzStemmer ks = new KrovetzStemmer();
                finalstring1 = ks.stem(st.nextToken()); 


                // repeated characters remover
                finalstring1 = finalstring1.replaceAll("(.)\\2{2,}", "$2");



                FileInputStream in1 = new FileInputStream("C:\\10\\NonWords.txt");
                BufferedReader br1 = new BufferedReader(new InputStreamReader(in1));

                FileInputStream in2 = new FileInputStream("C:\\10\\StopWords.txt");
                BufferedReader br2 = new BufferedReader(new InputStreamReader(in2));            

                String line1;
                String line2;

                while((line1 = br1.readLine()) != null)
                {
                    if(finalstring1.equals(line1))
                    {
                       finalstring += finalstring1 + " ";
                    }    
                }

                while((line2 = br2.readLine()) != null)
                {
                      if(finalstring1.equals(line2))
                        {
                            finalstring += finalstring1 + " ";
                        }
                }
            }


                writer.write(finalstring);
               writer.newLine();

            }
}

Please suggest a change in my code. Something I am missing here.

user2078308
  • 41
  • 2
  • 9

1 Answers1

0

You're using a writer, and they need to be closed. On top of that, you're using a BufferedWriter so you won't necessarily see any output before it's closed.

sisyphus
  • 6,174
  • 1
  • 25
  • 35