루비에서 파일에 쓰는 방법은?
데이터베이스에서 데이터를 읽은 다음 텍스트 파일에 저장해야 합니다.
루비에서 어떻게 해야 하나요?루비에 파일 관리 시스템이 있습니까?
다음을 찾으십니까?
File.open(yourfile, 'w') { |file| file.write("your text") }
짧은 버전을 사용할 수 있습니다.
File.write('/path/to/file', 'Some glorious content')
기록된 길이를 반환합니다. 자세한 내용 및 옵션은 ::write를 참조하십시오.
파일이 이미 있는 경우 파일에 추가하려면 다음을 사용합니다.
File.write('/path/to/file', 'Some glorious content', mode: 'a')
대부분의 경우 이 방법이 선호됩니다.
File.open(yourfile, 'w') { |file| file.write("your text") }
블록이 에 전달될 때File.open
블록이 종료되면 File 객체가 자동으로 닫힙니다.
한 블록도 통과하지 못하면,File.open
파일이 올바르게 닫혔는지, 내용이 파일에 쓰여졌는지 확인해야 합니다.
begin
file = File.open("/tmp/some_file", "w")
file.write("your text")
rescue IOError => e
#some error occur, dir not writable etc.
ensure
file.close unless file.nil?
end
설명서에서 확인할 수 있습니다.
static VALUE rb_io_s_open(int argc, VALUE *argv, VALUE klass)
{
VALUE io = rb_class_new_instance(argc, argv, klass);
if (rb_block_given_p()) {
return rb_ensure(rb_yield, io, io_close, io);
}
return io;
}
Ruby File 클래스는 다음과 같은 정보를 제공합니다.::new
그리고.::open
하지만 그것의 부모인 IO 클래스는 깊이가 있습니다.#read
그리고.#write
.
File.open("out.txt", '<OPTION>') {|f| f.write("write your stuff here") }
선택할 수 있는 위치<OPTION>
다음과 같습니다.
r
읽기 전용.파일이 있어야 합니다.
w
쓰기 위한 빈 파일을 만듭니다.
a
파일에 추가합니다.파일이 없는 경우 파일이 만들어집니다.
r+
읽기 및 쓰기 모두를 업데이트하기 위해 파일을 엽니다.파일이 있어야 합니다.
w+
읽기와 쓰기 모두에 사용할 빈 파일을 만듭니다.
a+
읽고 추가할 파일을 엽니다.파일이 없는 경우 파일이 만들어집니다.
당신의 경우에는,w
선호합니다.
본보기로 배우는 우리들을 위해...
다음과 같은 파일에 텍스트 쓰기:
IO.write('/tmp/msg.txt', 'hi')
보너스 정보...
이렇게 다시 읽어보세요.
IO.read('/tmp/msg.txt')
클립보드에서 파일을 읽고 싶을 때가 많습니다. ***
Clipboard.copy IO.read('/tmp/msg.txt')
그리고 다른 때에는 클립보드에 있는 내용을 파일에 쓰고 싶습니다. ***
IO.write('/tmp/msg.txt', Clipboard.paste)
클립보드 보석이 설치되어 있다고 가정합니다.
참조: https://rubygems.org/gems/clipboard
파일의 이전 내용을 삭제하려면 파일에 새 문자열을 작성합니다.
open('myfile.txt', 'w') { |f| f << "some text or data structures..." }
이전 내용을 덮어쓰지 않고 파일에 추가하는 방법
open('myfile.txt', "a") { |f| f << 'I am appended string' }
언급URL : https://stackoverflow.com/questions/2777802/how-to-write-to-file-in-ruby
'programing' 카테고리의 다른 글
논리적 조건을 기준으로 data.frame 행 필터링 (0) | 2023.06.08 |
---|---|
"+" (+ 기호) CSS 선택기는 무엇을 의미합니까? (0) | 2023.06.03 |
조각에서 ID별 보기 찾기 (0) | 2023.06.03 |
뷰의 절대 좌표를 가져오는 방법 (0) | 2023.06.03 |
Android Studio:jar를 라이브러리로 추가하시겠습니까? (0) | 2023.06.03 |