2012-06-26 1 views
0

오픈 I VB6에 다음 코드가 -vb6 ~ C#. 출력으로 파일, freefile

dim iFreeFile as integer 

iFreeFile = FreeFile 
Open tSendFileName For Output As #iFreeFile 

내가 C#이 변환해야하지만 어려움을 겪고 있습니다. StreamWriter를 사용하려했지만 컴퓨터에 저장되어 있지 않기 때문에 파일을 쓰거나 파일을 삽입하는 방법을 모르는 문제가있었습니다.

이 코드를 C#으로 변환하는 방법에 대한 아이디어가 있으십니까? StreamWriter를을 사용하여 텍스트 파일에 쓰기 덕분에

+0

텍스트 또는 바이너리? – carny666

+0

파일 이름은 원래 코드의'tSendFileName'에 저장됩니다. 그 변수를 사용해 보셨습니까? –

+1

텍스트 파일입니다. StreamWriter MyStreamwriter = new StreamWriter (tSendFileName) MyStreamwriter.Writer() 부분을 연결할 때 막혔습니다. –

답변

2

꽤 정직 :

using (StreamWriter sw = new StreamWriter(tSendFileName)) { 
    sw.WriteLine("Some text"); //write text followed by line terminator 
    sw.Write("Foo...bar...foo...bar"); //write text without terminator 
} 
+0

VB6은 ANSI 인코딩을 사용하여 텍스트 파일을 작성합니다. 표준 .Net 스트림 작성자 [BOM없이 UTF-8 사용] (http://msdn.microsoft.com/en-us/library/fysy0a4b.aspx) VB6의 정확한 변환을 위해서는 StreamWriter를 만들 때'Encoding.Default'를 지정해야합니다. 이처럼 새로운 'StreamWrite (tSendFileName, Encoding.Default)' – MarkJ

0
MemoryStream ms = new MemoryStream(); 
TextWriter tw = new StreamWriter(ms); 


tw.WriteLine("Creating file in memory."); 
tw.WriteLine("Adding extra line."); 

// just use savedialog to save file on disk 
File.WriteAllBytes(SaveFileDialog1.FileName, ms.GetBuffer());