2011-07-29 7 views
17

나는 다음과 같은Scala에서 파일에 어떻게 추가합니까?

def appendFile(fileName: String, line: String) = { 
} 

방법과 유사한 방법을 작성하려하지만 구현을 구체화하는 방법을 모르겠어요. 여기에 대한 또 다른 질문은 스칼라 2.9 기능을 암시하지만 더 자세한 내용을 찾을 수 없었다.

+0

여기에 추가 할 두 번째 예제를 참조하십시오. http://stackoverflow.com/a/5218279/243233 – Jus12

답변

31

one written by Jesse Eichar이 잠복기에 있음을 알고 있지만, 현재로서는 스칼라 특정 IO 구현이 없습니다. JDK7에서 새로운 File (path) API를 어느 정도 사용하는지 확신 할 수 없습니다. 이것 때문에, 지금은 간단한 Java로 갈 것입니다 :

val fw = new FileWriter("test.txt", true) 
try { 
    fw.write(/* your stuff */) 
} 
finally fw.close() 
4
val fw = new FileWriter("test.txt", true) ; 
fw.write("This line appended to file!") ; 
fw.close() 
10

질문은 오래되었으므로 답변도 있습니다. 나는이 방법을 쉽게 찾을 수 있습니다 :

scala.tools.nsc.io.File("filename").writeAll("hello world") 

또는

scala.tools.nsc.io.File("filename").appendAll("hello world") 

또는

scala.tools.nsc.io.Path("/path/to/file").createFile().appendAll("hello world") 

더 간결에 대한 물론, 당신은 scala.tools.nsc.io 패키지를 가져 와서 코드를 반복하지 않도록 할 수 있습니다. 이 패키지를 사용하면 외부 종속성/라이브러리 (예 : scala.io.file (Scalax) 또는 Apache Commons와 달리)를 추가 할 필요가 없다는 이점이 있습니다.

크레딧 : Garett Hall, this을 참조하십시오.

+0

이것은 공개 API가 아니며 언제든지 제거 할 수 있으므로, 코드가 언젠가 끊어집니다. –

+0

라이브러리에서 : 참고 :이 라이브러리는 시험용으로 간주되며 수행중인 작업을 모르는 경우에는 사용하지 않아야합니다. – soote

관련 문제