2016-05-01 19 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

ライターを閉じます(finallyブロック内)。 – Tunaki

+0

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

答えて

0

あなたはライターを使用していますが、それらを閉じる必要があります。さらに、BufferedWriterを使用しているため、出力が閉じられる前に出力が必ずしも表示されるとは限りません。

関連する問題