Если бы Ваш код, как предполагается, работает в различных средах, я рассмотрел бы использование Environment.NewLine
постоянный, так как это конкретно эти newline
используется в определенной среде.
line = line.Replace(Environment.NewLine, "newLineReplacement");
Однако, если Вы получаете текст из файла, происходящего в другой системе, это не могло бы быть корректным ответом, и необходимо заменить любой постоянной новой строкой, используется в другой системе. Это обычно будет \n
или \r\n
.
Кажется, это работает при использовании сокетов:
require 'socket'
host = "download.thinkbroadband.com"
path = "/1GB.zip" # get 1gb sample file
request = "GET #{path} HTTP/1.0\r\n\r\n"
socket = TCPSocket.open(host,80)
socket.print(request)
# find beginning of response body
buffer = ""
while !buffer.match("\r\n\r\n") do
buffer += socket.read(1)
end
response = socket.read(100) #read first 100 bytes of body
puts response
Мне любопытно, существует ли «рубиновый путь».
Обратите внимание на « OpenURI возвращает два разных объекта ». Вы можете злоупотребить имеющимися там методами, чтобы прервать загрузку / выбросить остальную часть результата после установленного лимита.