मुझे सच में यकीन नहीं है कि मैं समझता हूं कि आपको क्या करना है। लेकिन यह सोचते हैं कि
- कनेक्शन आप निश्चित रूप से फ़ाइल से पढ़ने की जरूरत है डिस्क
- पर किसी मौजूदा फ़ाइल से संबंधित है
- आप हो सकता है फाइल करने के लिए
फिर लिखना चाहते हैं आप अगर आप यूटीएफ -8 एन्कोडिंग को मजबूर करना चाहते हैं तो ऐसा कुछ कर सकता है:
# 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"
यह जांचने के लिए कि क्या पिछली सामग्री यूटीएफ -8 का उपयोग करके एन्कोड किया गया था या नहीं, एक पूरी कहानी है, इसलिए यह आपके मामले में उपयोगी हो सकती है या नहीं भी हो सकती है।
स्रोत
2015-03-07 08:42:05
उत्तर खोजने के लिए इसे आसान बनाने के लिए, आप उस संपत्ति को क्या जानना चाहेंगे? मेरा मतलब है कि जब आप फ़ाइल खोलते हैं तो आप उसे जानते थे, क्या आप उस जानकारी का उपयोग कोड के उस हिस्से में कर रहे हैं जो अब उस संपत्ति को याद नहीं रख सकता है? क्या कोड को अन्य प्रकार के 'कनेक्शन' ऑब्जेक्ट्स के लिए काम करने की ज़रूरत है? – MrFlick
मुझे इसे एक ऐसे फ़ंक्शन के भीतर चाहिए जहां उपयोगकर्ता एक कनेक्शन ऑब्जेक्ट को तर्क के रूप में पास करता है। – Jeroen
शायद ['do_sumconnection'] (https://github.com/wch/r-source/blob/trunk/src/main/connections.c#L4910) को आजमाएं और संशोधित करें? –