2016-05-01 5 views
-1

Я пытался добавить текст в текстовый файл. Я использую некоторые новые классы, добавленные в Java 7. Но с моим кодом ничего не добавляется в текстовый файл. Я пробовал некоторые отладки, но не понимаю, почему он не пишет текст в файле.Java 7: невозможно записать/добавить содержимое в текстовый файл

Вот код:

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(); 

      } 
} 

Просьба предложить изменения в своем коде. Что-то мне здесь не хватает.

+0

Закройте Writer (в блоке finally). – Tunaki

+0

http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html –

ответ

0

Вы используете писателя, и их нужно закрыть. Кроме того, вы используете BufferedWriter, поэтому вы не обязательно увидите какой-либо вывод до его закрытия.

Смежные вопросы