Wie kann ich den Inhalt einer Datei mit den Dateimethoden von Ruby in eine andere kopieren?

8

Ich möchte den Inhalt einer Datei mit den Dateimethoden von Ruby in einen anderen kopieren.

Wie kann ich es mit einem einfachen Ruby-Programm mit Dateimethoden machen?

    
Mithun Sasidharan 05.12.2011, 11:51
quelle

7 Antworten

0

Hier ist eine einfache Methode, die ruby-Dateioperationsmethoden zu verwenden:

%Vor%

Sie können auch File.exists? verwenden, um zu prüfen, ob die Datei existiert oder nicht. Dies würde einen booleschen Wert zurückgeben, wenn er es tut !!

    
Mithun Sasidharan 05.12.2011, 11:53
quelle
18

Dafür gibt es eine sehr praktische Methode - das IO#copy_stream method - sieht die Ausgabe von ri copy_stream

Beispielverwendung:

%Vor%     
maprihoda 05.12.2011 16:23
quelle
9

Für diejenigen, die interessiert sind, hier ist eine Variation der IO#copy_stream , File#open + block Antwort (s) (geschrieben gegen Ruby 2.2.x, 3 Jahre zu spät).

%Vor%     
aschyiel 12.11.2015 20:48
quelle
6

Als Vorsichtsmaßnahme würde ich die Verwendung von Puffer empfehlen, wenn Sie nicht garantieren können, dass die gesamte Datei immer in den Speicher passt:

%Vor%     
Victor Moroz 05.12.2011 15:17
quelle
3

Hier meine Implementierung

%Vor%

Verwendung:

%Vor%     
peter 21.11.2012 01:07
quelle
1

Hier ist ein schneller und prägnanter Weg, es zu tun.

%Vor%

Ein Beispiel für das Ausführen wäre.

%Vor%

Dies führt this_script.rb aus und übernimmt zwei Argumente über die Befehlszeile. Der erste in unserem Fall ist from_file.txt (Text, von dem kopiert wird) und das zweite Argument second_file.txt (Text wird kopiert).

    
Mur Quirk 21.02.2012 10:43
quelle
0

Sie können auch File.binread und File.binwrite verwenden, wenn Sie den Inhalt der Datei ein wenig beibehalten möchten. (Andere Antworten verwenden stattdessen eine sofortige copy_stream .)

Wenn der Inhalt andere als einfache Textdateien sind , wie Bilder, funktioniert die Verwendung von File.read und File.write nicht.

%Vor%

Quelle: binread , binwrite .

    
Alex 04.06.2017 21:06
quelle

Tags und Links