Yapman gerekeni iyi anladığımdan gerçekten emin değilim. Ama
- bağlantısı kesinlikle dosyadan okumak gerekir diskin
- varolan dosyaya ilişkili olduğunu varsayarak
- Eğer belki dosyaya
Ardından yazmak istiyorum sen UTF-8 kodlamasını zorlamak için böyle bir şey yapabilirdiniz:
# Hypothetical connection used by the user (file must exist on dist, hence
# the "w" here
con <- file(tempfile(), open = "w", encoding = "UTF-8")
# recup the attributes of the existing connection
con.attr <- summary(con)
# build a list of parameters for a new connection that would replace
# the original one
newcon.attr <- list()
newcon.attr["description"] <- con.attr$description
newcon.attr["open"] <- paste0("r", ifelse(con.attr$'can write'=='yes', "+", ""))
newcon.attr["encoding"] <- "UTF-8"
# close the original connection, and create the new one
close(con)
newcon <- do.call(what = file, args = newcon.attr)
# Check its attributes
summary(newcon)
# $description
# [1] "C:\\Users\\...\\Temp\\Rtmpo9ykjo\\file54744993321b"
#
# $class
# [1] "file"
#
# $mode
# [1] "r+"
#
# $text
# [1] "text"
#
# $opened
# [1] "opened"
#
# $`can read`
# [1] "yes"
#
# $`can write`
# [1] "yes"
Önceki içeriğin UTF-8 kullanılarak kodlanıp kodlanmadığını kontrol etmek ya da başka bir hikaye olup olmadığını kontrol etmek için, bu sizin durumunuzda yararlı olabilir ya da olmayabilir.
Bir cevap bulmayı kolaylaştırmak için, bu özelliği bilmek ister misiniz? Dosyayı açtığınız anda bunu biliyordunuz, bu bilgiyi kodun bir bölümünde artık bu özelliği hatırlayamayacak şekilde mi kullanıyorsunuz? Kodun diğer "bağlantı" nesneleri türleri için çalışması gerekiyor mu? " – MrFlick
Kullanıcının argüman olarak bir bağlantı nesnesini geçtiği bir işlev içinde buna ihtiyacım var. – Jeroen
Belki de ['do_sumconnection'] 'ı değiştirmeyi deneyin (https://github.com/wch/r-source/blob/trunk/src/main/connections.c#L4910)? –