-4
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
String line;
while ( (line = br.readLine()) != null && 'v' == line.charAt(0) ) 
{
   // perform your task here

    String[] separated = line.split(" ");
    Log.d("bbb", separated[0].toString());
}

07-02 23:17:42.127: E/Trace(14343): error opening trace file: No such file or directory (2)
07-02 23:17:42.127: D/ActivityThread(14343): setTargetHeapUtilization:0.25
07-02 23:17:42.127: D/ActivityThread(14343): setTargetHeapIdealFree:8388608
07-02 23:17:42.127: D/ActivityThread(14343): setTargetHeapConcurrentStart:2097152
07-02 23:17:42.167: D/aaa(14343): It worked!
07-02 23:17:42.337: D/libEGL(14343): loaded /system/lib/egl/libEGL_adreno200.so
07-02 23:17:42.337: D/libEGL(14343): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
07-02 23:17:42.337: D/libEGL(14343): loaded /system/lib/egl/libGLESv2_adreno200.so
07-02 23:17:42.397: I/Adreno200-EGLSUB(14343): <ConfigWindowMatch:2087>: Format RGBA_8888.
07-02 23:17:42.417: E/(14343): <s3dReadConfigFile:75>: Can't open file for reading
07-02 23:17:42.417: E/(14343): <s3dReadConfigFile:75>: Can't open file for reading
07-02 23:17:42.417: D/OpenGLRenderer(14343): Enabling debug mode 0

加倍,似乎正在停止流的读取过程。如果我删除 "&& 'v' == line.charAt(0)" 它工作正常并给出以下输出:

07-02 23:17:42.127: E/Trace(14343): error opening trace file: No such file or directory (2)
07-02 23:17:42.127: D/ActivityThread(14343): setTargetHeapUtilization:0.25
07-02 23:17:42.127: D/ActivityThread(14343): setTargetHeapIdealFree:8388608
07-02 23:17:42.127: D/ActivityThread(14343): setTargetHeapConcurrentStart:2097152
07-02 23:17:42.167: D/aaa(14343): It worked!
07-02 23:17:42.337: D/libEGL(14343): loaded /system/lib/egl/libEGL_adreno200.so
07-02 23:17:42.337: D/libEGL(14343): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
07-02 23:17:42.337: D/libEGL(14343): loaded /system/lib/egl/libGLESv2_adreno200.so
07-02 23:17:42.397: I/Adreno200-EGLSUB(14343): <ConfigWindowMatch:2087>: Format RGBA_8888.
07-02 23:17:42.417: E/(14343): <s3dReadConfigFile:75>: Can't open file for reading
07-02 23:17:42.417: E/(14343): <s3dReadConfigFile:75>: Can't open file for reading
07-02 23:17:42.417: D/OpenGLRenderer(14343): Enabling debug mode 0
07-02 23:20:47.264: E/Trace(14481): error opening trace file: No such file or directory (2)
07-02 23:20:47.264: D/ActivityThread(14481): setTargetHeapUtilization:0.25
07-02 23:20:47.264: D/ActivityThread(14481): setTargetHeapIdealFree:8388608
07-02 23:20:47.264: D/ActivityThread(14481): setTargetHeapConcurrentStart:2097152
07-02 23:20:47.304: D/aaa(14481): It worked!
07-02 23:20:47.304: D/bbb(14481): #
07-02 23:20:47.304: D/bbb(14481): #
07-02 23:20:47.304: D/bbb(14481): #
07-02 23:20:47.304: D/bbb(14481): #
07-02 23:20:47.304: D/bbb(14481): #
07-02 23:20:47.304: D/bbb(14481): v
07-02 23:20:47.304: D/bbb(14481): v
07-02 23:20:47.304: D/bbb(14481): v
07-02 23:20:47.304: D/bbb(14481): v
07-02 23:20:47.314: D/bbb(14481): v
4

1 回答 1

4

如果您的问题是:我如何只处理以 开头的行v?然后改变:

while ( (line = br.readLine()) != null && 'v' == line.charAt(0) )

while ( (line = br.readLine()) != null) {
     if (line.trim().startsWith("v") ) {
         ...
     }
} 

一旦出现非 v 字符,之前的代码就会退出循环

于 2013-07-03T06:26:27.877 回答