خواندن فایل تکست در وی بی دات نت با اعمال utf8
سلام خدمت دوستان گران قدر
تابع زیر را برای خواندن متن از فایل تکست در ویژوال بیسیک دات نت vb.net پیدا کردم ولی قادر نیست اینکدینگ را به utf8 تبدیل کند ؛ راهنمایی لطفا
Dim Fs As New FileStream(Address, FileMode.Open, FileAccess.Read)
Dim SR As New StreamReader(Fs)
SR.BaseStream.Seek(0, SeekOrigin.Begin)
While SR.Peek > -1
ReadTXT &= SR.ReadLine() + vbNewLine
End While
SR.Close()
نقل قول: خواندن فایل تکست در وی بی دات نت با اعمال utf8
در این کد، ابتدا یک شیء از کلاس StreamReader با استفاده از مسیر فایل و انکدینگ UTF-8 ایجاد میشود. سپس با استفاده از روش ReadToEnd این شیء، تمام متن فایل خوانده شده و در متغیر ReadTXT ذخیره میشود. در نهایت، با استفاده از دستور Using، شیء StreamReader به طور خودکار بسته میشود.
Dim Address As String = "C:\example.txt"
Dim ReadTXT As String = ""
Using SR As New StreamReader(Address, Encoding.UTF8)
ReadTXT = SR.ReadToEnd()
End Using
اگر هم مایلید کد ارسالی خودتان را استفاده کنید میتوانید به این شکل بکار بگیرید:
Dim ReadTXT As String = ""
Dim encoding As Encoding = Encoding.UTF8
Using fs As New FileStream(Address, FileMode.Open, FileAccess.Read)
Using sr As New StreamReader(fs, encoding)
ReadTXT = sr.ReadToEnd()
End Using
End Using
نقل قول: خواندن فایل تکست در وی بی دات نت با اعمال utf8
سپاس از پاسخ شما ؛ متاسفانه جواب نداد فکر میکنید ایراد از کجاست ؟
در VBA با کد زیر میخوانم مشکلی نیست
Dim theStream As Object
Dim theContents As String
Set theStream = CreateObject("ADODB.Stream")
With theStream
.Charset = "UTF-8"
.Mode = 3 'adModeReadWrite
.Type = 2 'adTypeText
.Open
.LoadFromFile Address
theContents = .ReadText
.Close
End With
ReadTXT = theContents
در VB6 با کد زیر همان فایل تکست را میخوانم مشکلی نیست
Function ReadTXT(Address As String)
Dim strFile As String
Dim intFile As Integer
Dim strBody As String
strFile = Address
intFile = FreeFile
Open strFile For Input As intFile
strBody = Input(LOF(intFile), intFile)
Close intFile
ReadTXT = strBody
End Function
نمیدانم در VB.net چرا هر کاری میکنم نمیشود
نقل قول: خواندن فایل تکست در وی بی دات نت با اعمال utf8
برای استفاده از کلاسهای StreamReader و StreamWriter باید Imports System . IO را به پروژه خود اضافه کنید
1 ضمیمه
نقل قول: خواندن فایل تکست در وی بی دات نت با اعمال utf8
در ابتدای پروژه نوشته شده ولی متاسفانه عمل نکرد ضمیمه 154719
1 ضمیمه
نقل قول: خواندن فایل تکست در وی بی دات نت با اعمال utf8
این یک نمونه از خواندن و نوشتن و ساختن فایل تکست
نقل قول: خواندن فایل تکست در وی بی دات نت با اعمال utf8
سلام و روز خوش
همون کد اول خانم پارسایی (پست 3) کاملا درسته،
ولی انکودینگ از ansi به یونیکد تبدیل نمیشه - خودتون هم اشاره کردین:
نقل قول:
ولی قادر نیست اینکدینگ را به utf8 تبدیل کند
اینجوری بنویسین:
FUNCTION ReadTXT (Address AS STRING) AS STRING
USING SR AS NEW STREAMREADER(Address , ENCODING.GETENCODING(1256))
RETURN SR.READTOEND
END USING
END FUNCTION
نقل قول: خواندن فایل تکست در وی بی دات نت با اعمال utf8
اگر تغییر انکودینگ نیاز دارین فایل رو بصورت باینری بخونین.
نقل قول: خواندن فایل تکست در وی بی دات نت با اعمال utf8
نقل قول:
نوشته شده توسط
پرستو پارسایی
این یک نمونه از خواندن و نوشتن و ساختن فایل تکست
ممنونم خانم پارسایی فایل تکست مبدا بر حسب utf8 سیو نشده بود که سیواز گرفتم و کاملا عالی اجرا شد ممنونم از توجه شما 🌹