Ruby熱門檔案作業碼執行個體

來源:互聯網
上載者:User

Ruby熱門檔案作業碼執行個體

   這篇文章主要介紹了Ruby熱門檔案作業碼執行個體,如建立檔案、輸出檔案內容、IO操作、輸出檔案路徑、stringio使用等內容,需要的朋友可以參考下

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

#建立一個222.rb檔案並且輸入字元

file = File.open("222.rb","w+")

file.puts "123\nwadwa\n12124124\ndwdw"

file.close

 

 

#輸出222.rb的內容

File.open("222.rb","r+") do |file|

while line = file.gets

puts line

end

end

 

 

#直接用IO操作檔案

IO.foreach("222.rb") do |line|

puts line if line =~/abc/ #輸出匹配到了'abc'的所在行

puts line if line !~/qwe/ #輸出沒有匹配到'qwe'的所在行

end

 

 

 

#輸出檔案的絕對路徑

puts File.expand_path("222.rb")

 

 

#count chars from a file

file= File.new("222.rb")

w_count = 0

file.each_byte do |byte|

w_count += 1 if byte ==?1

end

puts "#{w_count}"

 

 

#create new file and write some words there

print "The file now is exist? --> "

puts File.exist?("asd.txt")#判斷檔案是否存在

 

file= File.new("asd.txt","w")

print "The file now is exist? --> "

puts File.exist?("asd.txt")

 

file.write("hehe\nhahah")

 

 

#io.stream operation

require 'stringio'

ios = StringIO.new("abcdef\n ABC \n 12345")

ios.seek(5) #把位移指標移到5(e字母所在位置)

ios.puts("xyz3") #從5開始覆寫原有資料

puts ios.tell #tell--Returns the current offset (in bytes) of ios.

puts ios.string

puts ios.string.dump #忽略\n的轉義

 

 

#another example

require 'stringio'

ios = StringIO.new("abcdef\nq9ert \n 12345")

ios.seek(3)

ios.ungetc(?w) #replace the char at index 3

puts "Ptr = #{ios.tell}"

s1 = ios.gets #filte the "\n"

s2 = ios.gets

puts s1

puts s2

 

 

#Ruby開啟檔案並寫入資料操作

txt = File.open("檔案路徑","w+")

txt.puts '要寫入的檔案內容'

txt.close

#從檔案裡讀取資料

num = File.readlines("檔案路徑")[0].chomp

#開啟檔案的方法

system("notepad 檔案路徑")

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.