0
ADK를 처음 사용했습니다. 최근에 다른 장치에서 문자열을 가져 오는 프로그램을 작성했습니다. 중국어 문자열을 제외하고는 괜찮습니다. 누구나 이 (가)이 문제를 해결할 수 있습니까?Android 용 FileInputStream 문제
my codes look like this
mFileDescriptor = mUsbManager.openAccessory(mAccessory);
FileDescriptor fd = mFileDescriptor.getFileDescriptor();
mInputStream = new FileInputStream(fd);
byte[] b = new byte[512];
int n;
String str;
while ((n = mInputStream.read(b)) != -1)
{
......
str = (new String(b, 0, n, Charset.forName("UTF-8")));
......
}
감사합니다. 나는 그것을 수정했지만 여전히 작동하지 않습니다. 내가 잘못 됐어? mFileDescriptor = mUsbManager.openAccessory (mAccessory); (mFileDescriptor! = null) mInputStream = 새 FileInputStream (fd); BufferedReader bufReader = 새로운 BufferedReader (새로운 InputStreamReader (mInputStream, Charset.forName ("UTF-8"))); while ((str = bufReader.readLine())! = null) { } –
아, 나는 당신이 AOA를 사용하여 USB 액세서리를 다루고 있음을 알고 있습니다. 음, UsbManager에서 해당 InputStream을 사용하여 대기중인 문제가 있습니다. 이 스트림은 스트림 객체에 대한 JAVA 사양과 다소 일치하지만 내 경험에 따르면 일반적인 디스크 파일을 감싸는 일반적인 InputStream 객체는 아닙니다. 해당 입력 스트림에서 읽는 데이터를 먼저 파일에 쓰고 파일에 상당한 양의 데이터가 있으면 위의 방법을 사용하여 파일을 읽으십시오. –
많은 도움을 주셔서 감사합니다. 먼저 파일에 문자열을 쓰려고합니다. –