-1
제가 작업중인 프로젝트의 경우, .FRX 파일의 이진 데이터를 Java 프로젝트로 읽어야합니다. 그러나 자바의 표준 바이트 리더기는 나에게 잘못된 바이트를 계속해서 반환한다. 나는 자바의 수정 된 UTF8 인코딩의 결과 일 수 있다고 생각한다. C#의 바이너리 읽기 방법을 사용하면 필요한 출력을 얻을 수 있습니다. 명백한 (그러나 어려운 것으로 입증 된) 솔루션은 C#과 DLL을 사용하여 Java 프로젝트를 마무리하고 있으며, Java에서 구현할 수있는 대체 표준 바이트 판독기 인 Java에서 간단한 대안을 갖고 있는지 궁금합니다. 비교적 쉽게Java에서 이진 데이터 읽기
도움을 주시면 대단히 감사하겠습니다.
질문 업데이트
는 여기에 내가 찾고 있어요 출력을 반환 내 C# 프로그램입니다. 자바 코드에서
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
public class JavaReader {
public static void main(String[] args) throws Exception {
InputStream i = null;
BufferedInputStream b = null;
try{
// open file
i = new FileInputStream("frmResidency.frx");
// input stream => buffed input stream
b = new BufferedInputStream(i);
int numByte = b.available();
byte[] buf = new byte[numByte];
b.read(buf, 2, 3);
for (byte d : buf) {
System.out.println((char)d+":" + d);
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(i!=null)
i.close();
if(b!=null)
b.close();
}
}
}
"계속 잘못된 바이트를 반환합니다"를 정의하십시오. – immibis
코드를 보여주십시오. 만약 당신이 단지'InputStream.read'를 사용하고 있다면, * 인코딩/디코딩이 없습니다. (그리고 아니요, C#을 사용할 필요가 없습니다.) –
Java를 다시 작성한 후에 업데이트됩니다. 이 C# 프로그램의 출력을 에뮬레이션하려고 시도합니다. – HavelTheGreat