programing

루비에서 파일에 쓰는 방법은?

newstyles 2023. 6. 3. 08:19

루비에서 파일에 쓰는 방법은?

데이터베이스에서 데이터를 읽은 다음 텍스트 파일에 저장해야 합니다.

루비에서 어떻게 해야 하나요?루비에 파일 관리 시스템이 있습니까?

다음을 찾으십니까?

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