2013-02-12 2 views
2

Visual Basic 6에서 C#으로 기계 번역 된 코드에서 작업하고 있습니다. 파일을 열고 내용을 읽으려고합니다. 그것은 간단하고 짧은 156 바이트 텍스트 파일이고 strPath의 경로가 올 바르고 파일은 쉽게 텍스트 편집기에서 열 수 있습니다 InputString왜이 파일 입출력 예외가 발생합니까?

ffNum = VBNET.FileSystem.FreeFile(); 
VBNET.FileSystem.FileOpen(ffNum, strPath, VBNET.OpenMode.Input, 
          VBNET.OpenAccess.Default, VBNET.OpenShare.Default, -1); 
int nSize = (int)VBNET.FileSystem.LOF(ffNum); 
String thedata = VBNET.FileSystem.InputString(nSize, ffNum); 
VBNET.FileSystem.FileClose(new int[] { ffNum }); 

(다음 마지막에) 라인이 IOException가 "나쁜 던지고 파일 이름 또는 번호 "

어떻게 될 수 있습니까? FileOpen 호출에서 예외가 발생하지 않고 LOF도 발생하지 않았고 올바른 크기를 반환했습니다.

미리 감사드립니다.

답변

5

인자가 잘못된 방법으로 보입니다. documentation에서 : FileNumber는 첫 번째 매개 변수이며, CharCount 두 번째 방법

Public Shared Function InputString (_ 
    FileNumber As Integer, _ 
    CharCount As Integer _ 
) As String 

참고. 말했다

String thedata = VBNET.FileSystem.InputString(ffNum, nSize); 

, 나는 완전히 코드 이런 종류의 피하려고 것, 그리고 File.ReadAllText :

+0

빙고 같은 것을 사용 : 호출해야처럼

그래서 그것은 본다. 이 순서는 자동 번역 코드에 의해 생성되었으므로 확인하지 않았습니다. 내 잘못이야. 너 (너) 좋아. 나는 다른 라이브러리를 사용하고 싶지만 2 만 줄의 코드가 있으며 어제 그것을 원한다. – user316117

관련 문제