Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决在android中读取管道时java.io.IOException:lseek失败:ESPIPE(非法搜索)?_Java_Android_Pipe - Fatal编程技术网

如何解决在android中读取管道时java.io.IOException:lseek失败:ESPIPE(非法搜索)?

如何解决在android中读取管道时java.io.IOException:lseek失败:ESPIPE(非法搜索)?,java,android,pipe,Java,Android,Pipe,我正在开发Android。我尝试实现管道,并读取管道文件,如以下代码所示: public void onClick(View view) { switch (view.getId()) { case R.id.iat_recognize_stream: new Thread(new Runnable(){ @Override public

我正在开发Android。我尝试实现管道,并读取管道文件,如以下代码所示:

public void onClick(View view) {
        switch (view.getId()) {
               case R.id.iat_recognize_stream:

                new Thread(new Runnable(){
                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
                        while(true){
                            try{
                                File vSDCard = null;

                                vSDCard = Environment.getExternalStorageDirectory();

                                File vPath = new File( vSDCard.getParent() + "/legacy/rcfifo" );
                                // Connect to the named pipe
                                RandomAccessFile pipe = new RandomAccessFile(vPath, "r"); // "r" or "w" or for bidirectional (Windows only) "rw"

                                // Read response from pipe
                                String string_data= pipe.readLine();
                                byte[] byte_data = string_data.getBytes();
                                Log.d(TAG,"test log");


                                if(false){
                                    pipe.close();
                                }
                            }
                            catch(Exception e){
                                Log.d(TAG,"test Exception = " + e.toString());
                            }
                        }
                    }
                }).start();

            break;
        }
    }
在下面的日志中,它将显示
java.io.IOException:lseek failed:ESPIPE

D/IatDemo: test Exception = java.io.IOException: lseek failed: ESPIPE (Illegal seek)
D/IatDemo: test log 
D/IatDemo: test log 
D/IatDemo: test Exception = java.io.IOException: lseek failed: ESPIPE (Illegal seek)
D/IatDemo: test Exception = java.io.IOException: lseek failed: ESPIPE (Illegal seek)
问题1:

如何解决在android中读取管道时java.io.IOException:lseek失败:ESPIPE(非法搜索)

问题2:
如何通过日志以十六进制打印所有字节数据?

文件读取器周围使用
缓冲读取器
@EJP Hi,您能解释更多细节吗?谢谢使用
BufferedReader
围绕
FileReader
@EJP Hi,您能解释更多细节吗?谢谢