Android 2.2 휴대 전화의 블루투스에서 원시 이진 데이터를 가져 오는 인 스트림이 있습니다. 들어오는 데이터는 크기가 1024 인 버퍼에 저장됩니다. 나는 데이터를 읽고() 가져 와서 파일에 쓴다. 그 파일을 FTP를 통해 내 컴퓨터로 보냅니다. 나는 여분의 캐릭터가 매번 삽입 될 때 ftp'ing 할 때 혼란스러운 패턴을 발견했다. 그래서 LogCat에 버퍼를 먼저 인쇄하고 캐릭터가 거기에 없다는 것을 알아 차렸다. 여기에 내 읽기 쓰기 코드가 있습니다. ftp'ing 후FTP에 추가 문자가 추가되었습니다.
09 15 D0 0D 17 0A 06 08 07
여기 파일에있는 것입니다 : 여기
FTPClient con = new FTPClient();
File file = new File(Environment.getExternalStorageDirectory() + "/ftp/new/" + "testdata.bin");
try {
con.connect("someIPAddress");
if (con.login("anonymous", "[email protected]")) {
con.enterLocalPassiveMode(); // important!
FileInputStream in = new FileInputStream(file);
boolean result = con.storeFile("testdata.bin", in);
in.close();
if (result) {
Log.v("upload result", "succeeded");
}
}
} catch (Exception e) {e.printStackTrace();}
는 로그 캣의 출력 예입니다
09 15 D0 0D 17 0D 0A 06 08 07
그럼 내가 생각 흠 0A가 (CRLF)를 만들기 위해 0D를 주입하고 있지만 0A마다 발생하지는 않습니다. 나는 C#에서 같은 프로그램을 작성할 수 있으며 이것은 전혀 발생하지 않는다. 그래서 어떤 생각이나 도움?
추가 조사에서 데이터가 17A이고 파일에 17 0D 0A가 표시되는 것을 발견했습니다.
위의 코드에 대한 해결책은 없습니까? – JPM