Jump to content


Windows Server 2012

- - - - -

C# ÍèÒ¹ÀÒÉÒä·Â¨Ò¡ file Âѧ䧤Ð


  • Please log in to reply
28 replies to this topic

#1 gib

gib

    Junior Member

  • Members
  • Pip
  • 83 posts

Posted 03 January 2006 - 05:22 PM

à¢Õ¹ code »ÃÐÁÒ³¹Õé

// Read the file and display it line by line.
System.IO.StreamReader file =
   new System.IO.StreamReader("c:\\test.txt");
while((line = file.ReadLine()) != null)
{
   Console.WriteLine (line);

}

file.Close();


áÅéǾÍàÍÒ¤èÒ¨Ò¡ file ÁÒáÊ´§ã¹ label Áѹ¡ÅÒÂà»ç¹ÀÒÉÒÍÐäáçäÁèÃÙé
áµè¶éÒÊÑè§ label.Text="ËÇÑ´´Õ" Ẻ¹Õé ¡çÍÍ¡ÁÒà»ç¹ÀÒÉÒä·Â¹Ð¤Ð
µéͧà¾ÔèÁ code µÃ§ä˹¤Ð

#2 tsubasa

tsubasa

    Star

  • Star
  • 864 posts

Posted 03 January 2006 - 06:00 PM

ÅͧãÊè encoding µÍ¹·Õè¨Ð new StreamReader ´Ù¹Ð¤ÃѺ
System.Text.Encoding encoder = System.Text.Encoding.ASCII;
System.IO.StreamReader file = new System.IO.StreamReader("c:\\test.txt",encoder);


#3 massacre

massacre

    Newbie

  • Members
  • Pip
  • 27 posts

Posted 04 January 2006 - 09:32 AM

TextReader setup = new StreamReader(Application.StartupPath+"\\setup.ini",Encoding.Default);

#4 gib

gib

    Junior Member

  • Members
  • Pip
  • 83 posts

Posted 04 January 2006 - 09:57 AM

tsubasa, on Jan 3 2006, 07:00 PM, said:

ÅͧãÊè encoding µÍ¹·Õè¨Ð new StreamReader ´Ù¹Ð¤ÃѺ
System.Text.Encoding encoder = System.Text.Encoding.ASCII;
System.IO.StreamReader file = new System.IO.StreamReader("c:\\test.txt",encoder);

<{POST_SNAPBACK}>


Áѹ¢Öé¹ÁÒà»ç¹ ????? á·¹¤Ð áÅéÇÅͧãªé  UTF7 , UTF8 , Unicode ÅͧËÁ´áÅéÇ¡çäÁèä´é

Quote

TextReader setup = new StreamReader(Application.StartupPath+"\\setup.ini",Encoding.Default);

áÅéÇàÍÒ setup ä»·ÓÍÐäõèͤР µéͧ using ÍÐäÃà¾ÔèÁËÃ×Í»èÒǤÐ

#5 bpitk

bpitk

    Member

  • Members
  • PipPip
  • 221 posts

Posted 04 January 2006 - 11:59 AM

for your code,as above(or something liked this)
// Read the file and display it line by line.
System.IO.StreamReader file 
 ÿ ÿ ÿ ÿ ÿ= new System.IO.StreamReader("c:\\test.txt");
while((line = file.ReadLine()) != null) 
 ÿ ÿ ÿ ÿ ÿConsole.WriteLine (line);
file.Close();
Your system Command -prompt can use Thai-font?   :blink:
(or Not? Have you ever tried to show Thai-char on it by another way?)

Edited by bpitk, 04 January 2006 - 06:22 PM.


#6 gib

gib

    Junior Member

  • Members
  • Pip
  • 83 posts

Posted 04 January 2006 - 12:40 PM

Åͧ label.Text="ËÇÑ´´Õ" Ẻ¹Õé ¡çÍÍ¡ÁÒà»ç¹ÀÒÉÒä·Âä´é¹Ð¤Ð
¤Ô´ÇèÒ¹èÒ¨Ðà¡ÕèÂǡѺ¡ÒÃÍèÒ¹¨Ò¡ä¿Åì¤Ð áÅéÇ font ã¹ file ¡çà»ç¹ AngsanaUPC áÅéÇ´éÇÂ

Command -prompt  ãªéÀÒÉÒä·ÂäÁèä´é¤Ð (dir áÅéǪ×èÍä¿ÅìÀÒÉÒä·ÂÍèÒ¹äÁèÍÍ¡)
µéͧ·ÓÂѧä§ãËéÁѹãªéÀÒÉÒä·Âä´éËÃ×ͤÐ
áÅéÇäÁèà¢éÒã¨ÇèÒÁѹà¡ÕèÂǡѹÂѧ䧤Р:huh:

#7 Nine_Biz-Talk.Net

Nine_Biz-Talk.Net

    Member

  • Members
  • PipPip
  • 131 posts

Posted 04 January 2006 - 02:20 PM

Function Íѹ¹Õé¨Ð Convert Encode ¢Í§ Text File
ä»à»ç¹ System Encode (Windows Code Page) àͧ¤ÃѺ
äÁèµéͧʹã¨ÇèÒ Text file Áѹ¨Ðà»ç¹ Encode ÍÐäÃÁÒ
·ÕèàËÅ×Í¡ç ¾ÅÔ¡á¾Å§µèÍàÍÒä´éàŤÃѺ


 ÿ ÿ using System.Text;
 ÿ ÿ using System.IO;
 ÿ ÿ ...........................

 ÿ ÿ public string textFileReader(string pathFileName)
 ÿ ÿ {
 ÿ ÿ ÿ ÿ ÿstring line;
 ÿ ÿ ÿ ÿ ÿStreamReader fs;
 ÿ ÿ ÿ ÿ ÿtry 
 ÿ ÿ ÿ ÿ ÿ{
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ fs = new StreamReader(pathFileName);
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ line = ÿfs.ReadToEnd();

 ÿ ÿ ÿ ÿ ÿ ÿ ÿ /* ÍèÒ¹ Encode ¨Ò¡ String ·ÕèÍèÒ¹ÁÒä´é¨Ò¡ text file */ 
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ Encoding encodeSource = Encoding.GetEncoding(fs.CurrentEncoding.CodePage);
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ fs.Close();

 ÿ ÿ ÿ ÿ ÿ ÿ ÿ //* ............ */
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ Encoding systemEncode = Encoding.Default; 
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ Encoding targetEncode = encodeSource;

 ÿ ÿ ÿ ÿ ÿ ÿ ÿ /* ÊÑè§ getbyte array ¨Ò¡ string ·ÕèàÃÒÍèÒ¹ÁÒ */
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ byte[] srcData = systemEncode.GetBytes( line );
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ byte[] dstData;

 ÿ ÿ ÿ ÿ ÿ ÿ ÿ /* ¶éÒà»é¹ Encode µèÒ§¡Ñ¹ windows áÅÐ text file ÿãËé Convert byte array ä»à»ç¹ text file encode */
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ if( targetEncode != systemEncode )
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿdstData = Encoding.Convert( systemEncode, targetEncode, srcData );
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ else 
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿdstData = srcData;

 ÿ ÿ ÿ ÿ ÿ ÿ ÿ /* convert bytearray ä»à»ç¹ string ´éÇ text file encode */
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ return ÿ targetEncode.GetString(dstData);

 ÿ ÿ ÿ ÿ ÿ}
 ÿ ÿ ÿ ÿ catch(Exception ex)
 ÿ ÿ ÿ ÿ {
 ÿ ÿ ÿ ÿ ÿ ÿ ÿ throw new IOException("cannot find " + pathFileName,ex);
 ÿ ÿ ÿ ÿ ÿ}

 ÿ ÿ }

à§éÍ à˹×èÍÂàŤÃѺ¡ÇèÒ¨Ðä´é code ÍÍ¡ÁÒÊÇÂ æ ¨Ñ´ÃٻẺ äÁèà»ç¹ÍèФÃѺ ã¤Ãá¹Ð˹èÍÂÊÔ ÁÒ¹Ñè§ãÊè Space àÍÒàͧ§Õéà˹×èͨѧàÅ  ;)   :wacko:  :wacko:


.......

Edited by Nine_Biz-Talk.Net, 04 January 2006 - 05:03 PM.


#8 gib

gib

    Junior Member

  • Members
  • Pip
  • 83 posts

Posted 04 January 2006 - 04:47 PM

¢Íº¤Ø³ÁÒ¡¤Ð ¨ÐÅͧàÍÒä»ãªé´Ù¹Ð¤Ð

#9 gib

gib

    Junior Member

  • Members
  • Pip
  • 83 posts

Posted 04 January 2006 - 05:00 PM

ä»ÅͧãªéÁÒáÅéǤР¤×Í·ÓäÁÁѹÂѧà»ç¹ ?????? ÍÂÙè¡çäÁèÃÙéÍÐ
ÁÕÍÐä÷Õèµéͧ价Óà¾ÔèÁàµÔÁËÃ×Í»èÒǤРµéÍ§ä» set ¤èÒÍÐäáѺÃкºËÃ×Í»èÒÇ

Åͧà¢Õ¹ code Ẻ¹Õé¤Ð

public static void loadTopicFromFile()
{
	thaiTopic=new  ArrayList();
	engTopic=new  ArrayList();
	
	string line;

	System.IO.StreamReader file = new System.IO.StreamReader("c:\\engTopic.txt");
	Encoding encodeSource = Encoding.GetEncoding(file.CurrentEncoding.CodePage);
	Encoding systemEncode = Encoding.Default; 
	Encoding targetEncode = encodeSource;
	while((line = file.ReadLine()) != null)
	{
	/* ÊÑè§ getbyte array ¨Ò¡ string ·ÕèàÃÒÍèÒ¹ÁÒ */
	byte[] srcData = systemEncode.GetBytes( line );
	byte[] dstData;

	/* ¶éÒà»é¹ Encode µèÒ§¡Ñ¹ windows áÅÐ text file  ãËé Convert byte array ä»à»ç¹ windows encode */
	if( targetEncode != systemEncode )
            dstData = Encoding.Convert( systemEncode, targetEncode, srcData );
	else 
            dstData = srcData;

	/* convert bytearray ä»à»ç¹ string ´éÇ windows encode */
	string yesStr=  targetEncode.GetString(dstData);
	engTopic.Add(yesStr);
  
	}
	file.Close();
}


#10 Nine_Biz-Talk.Net

Nine_Biz-Talk.Net

    Member

  • Members
  • PipPip
  • 131 posts

Posted 04 January 2006 - 05:28 PM

ÅͧÊÑ觨ҡ

Quote

while((line = file.ReadLine()) != null)

ÁÒà»ç¹

     line = file.ReadToEnd();

´Ù¡è͹ä´éÁÑê¤ÃѺ  à¼×èͨÐà»ç¹»Ñ­ËÒ·Õè Encode String ·ÕÅФÃÑé§ ¶éÒãªè¡ç¨Ðä´éËÒá¹Ç·Ò§µèÍä»ÍÕ¡


áµè·ÓäÁ¼ÁäÁèà»ç¹ ??? ¹Ð   ;)
...

Edited by Nine_Biz-Talk.Net, 04 January 2006 - 05:30 PM.


#11 gib

gib

    Junior Member

  • Members
  • Pip
  • 83 posts

Posted 04 January 2006 - 05:41 PM

ä»Åͧ´ÙáÅéǤРcopy method ·Õè¤Ø³ Nine_Biz-Talk.Net ãËéÁÒ äÁèä´éà»ÅÕè¹ÍÐäÃàŤÐ
áÅéÇàÍÒ string ·Õèä´éä» áÊ´§ã¹ label  Áѹà»ç¹ ???? ¤Ð
áµè¶éÒ set ÇèÒ label1.Text="ËÇÑ´´Õ";  áºº¹ÕéÁѹ¡çÂѧä´é¹Ð¤Ð
áÅéÇà¤Ã×èͧ¤Ø³ Nine_Biz-Talk.Net ä» set µÃ§ä˹à»ç¹ÀÒÉÒä·ÂàÍÒäÇéÁÑ觤Ð

#12 Nine_Biz-Talk.Net

Nine_Biz-Talk.Net

    Member

  • Members
  • PipPip
  • 131 posts

Posted 04 January 2006 - 06:04 PM

ËÅѧ¨Ò¡

Quote

ÿ ÿ  System.IO.StreamReader file = new System.IO.StreamReader("c:\\engTopic.txt");
ÿ ÿ  Encoding encodeSource = Encoding.GetEncoding(file.CurrentEncoding.CodePage);

ÅͧÊÑè§ãËé Return ´Ù¤èÒ¹Õé˹è͹èФÃѺ  

 ÿ ÿ return "System Encode Name = " + Encoding.Default.EncodingName.ToString() + 
 ÿ ÿ ÿ ÿ ÿ ÿ" Encode Page = " + Encoding.Default.CodePage.ToString() + Environment.NewLine + 
 ÿ ÿ ÿ ÿ ÿ ÿ"Text File Encode Name = " + encodeSource.EncodingName.ToString() + 
 ÿ ÿ ÿ ÿ ÿ ÿ" Encode Page = " + encodeSource.CodePage.ToString();


¼ÅÅѾ¸ìà¤Ã×èͧ¼Áä´é
System Encode Name = Thai (Windows) Encode Page = 874
Text File Encode Name = Unicode (UTF-8) Encode Page = 65001

à¤Ã×èͧ¼Á Set ·Õè Region Setting
Tab áá àÅ×Í¡ Thai áÅÐ Thailand µÒÁÅӴѺ
Tab ·Õè 2 ¡ç ¡Ò¶Ù¡µÃ§ªèͧááäÇé à¾×è͵ԴµÑé§ÀÒÉÒä·Â
Tab ·Õè 3 àÅ×Í¡ Thai µÃ§ Language for non unicode

¤ÃѺ¼Á

Edited by Nine_Biz-Talk.Net, 04 January 2006 - 06:11 PM.


#13 bpitk

bpitk

    Member

  • Members
  • PipPip
  • 221 posts

Posted 04 January 2006 - 06:29 PM

Åͧãªé winhex à»Ô´ä¿Åì
c:\engTopic.txt
c:\test.txt
áÅéǤѴÅÍ¡(ºÒ§Êèǹ)ÁÒãËé´Ù˹èÍÂÊÔ¤ÃѺ
ÇèÒ byte by byte ¢Í§áµèÅÐä¿Åì in Hex (°Ò¹16)Áѹà»ç¹ÍÐäáѹá¹è
(¶Ö§ encode - decode ÂÒ¡¨Ñ§)

#14 Nine_Biz-Talk.Net

Nine_Biz-Talk.Net

    Member

  • Members
  • PipPip
  • 131 posts

Posted 04 January 2006 - 09:12 PM

Å×Á¶ÒÁ¤Ø³ gib ÇèÒ ÊÃéÒ§ Text File ¢Öé¹ÁÒÂѧ§Ñ¤ÃѺ
¨Ò¡ .NET ËÃ×Í»ÅèÒÇ ËÃ×ÍÇèÒä´éÁÒ¨Ò¡ÃкºÍ×è¹

#15 gib

gib

    Junior Member

  • Members
  • Pip
  • 83 posts

Posted 05 January 2006 - 09:28 AM

Nine_Biz-Talk.Net, on Jan 4 2006, 07:04 PM, said:

¼ÅÅѾ¸ìà¤Ã×èͧ¼Áä´é
System Encode Name = Thai (Windows) Encode Page = 874
Text File Encode Name = Unicode (UTF-8) Encode Page = 65001

ä´é¼ÅÅѾ¸ìàËÁ×͹¡Ñ¹àŤÐ

àÍÍ..ÊÃéÒ§ä¿Åìãªé notÓpad ¾ÔÁ¾ìàÍÒ¹èФРä´éËÃ×Í»èÒǤÐ
à¤Âãªé java ÍèÒ¹ä´é àŤԴÇèÒ¹èÒ¨Ðä´é




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users