CẬP NHẬT: Tôi đã tạo ra một giải pháp hiệu quả hơn mà tôi đã xây dựng ở đây: https://stackoverflow.com/a/34277491/501113
Tôi thấy mình làm việc nhiều hơn và nhiều hơn trong Bảng tính Scala trong IDE Scala cho Eclipse (và tôi tin rằng có một cái gì đó tương đương trong IntelliJ IDEA). Dù sao, tôi cần có khả năng thực hiện một lớp lót để xuất một số nội dung khi tôi nhận được "Đầu ra vượt quá giới hạn cắt". nếu tôi đang làm bất cứ điều gì quan trọng, đặc biệt là với các bộ sưu tập Scala.
Tôi đã đưa ra một lớp lót tôi chèn vào đầu mỗi Bảng tính Scala mới để đơn giản hóa việc này (và vì vậy tôi không phải thực hiện toàn bộ bài tập nhập thư viện bên ngoài cho một nhu cầu rất đơn giản). Nếu bạn là một stickler và nhận thấy rằng về mặt kỹ thuật là hai dòng, nó chỉ để làm cho nó dễ đọc hơn trong diễn đàn này. Nó là một dòng duy nhất trong Bảng tính Scala của tôi.
def printToFile(content: String, location: String = "C:/Users/jtdoe/Desktop/WorkSheet.txt") =
Some(new java.io.PrintWriter(location)).foreach{f => try{f.write(content)}finally{f.close}}
Và cách sử dụng chỉ đơn giản là:
printToFile("A fancy test string\ncontaining newlines\nOMG!\n")
Điều này cho phép tôi tùy ý cung cấp tên tệp nếu tôi muốn có các tệp bổ sung ngoài mặc định (sẽ ghi đè hoàn toàn tệp mỗi khi phương thức được gọi).
Vì vậy, cách sử dụng thứ hai chỉ đơn giản là:
printToFile("A fancy test string\ncontaining newlines\nOMG!\n", "C:/Users/jtdoe/Desktop/WorkSheet.txt")
Thưởng thức!