2017-10-13 7 views
-3

XmlParserでチェックした後、テキストを書き込むために書きます。 すべて正常に動作しますが、コードはそのファイルを閉じないでください。 .tmpファイルを作成します。その行動の後、ファイルをどれくらい閉じますか?newOutputStreamファイルを閉じる

def path = new File("my/path")) 
def xml = new XmlParser().parse(path) 
     xml.appendNode("include", [ 
       myAppendToCheck" 
     ]) 
     XmlUtil.serialize(xml, path.newOutputStream())    

    path.newOutputStream().flush() 
    path.newOutputStream().close() 

答えて

2

ここで問題となるのは、3つの異なる出力ストリームを作成することです。ストリームを変数に格納してください:

def stream = path.newOutputStream() 
XmlUtil.serialize(xml, stream) 
stream.close() 

ストリームが閉じられる前にflushは必要ないことにも注意してください。

+1

これは非常に役に立ちます。私はまだJavaの初心者です。ありがとう:) –

0

はちょうど私はまだJavaで初心者

よ閉鎖が完了したときにあなたのためのストリームを閉じます

def path = new File("my/path")) 
def xml = new XmlParser().parse(path) 

xml.appendNode("include", [ 
    myAppendToCheck" 
]) 

path.withOutputStream { os -> 
    XmlUtil.serialize(xml, os)    
} 

withOutputStream ...

を使用し、これがありますGroovyではなく、Java ;-)

関連する問題