[英]Android, problems parsing text file in objects from the same class
我創建了一個名為uno
的GpsSession
class 實例,然后調用了uno.loadSessionFile()
。 該文件已正確解析,但是創建另一個名為dos
的GpsSession
並調用dos.loadSessionFile()
會導致在文件讀取和解析期間跳過許多行。 我錯過了什么嗎? 附上我項目的簡化(但經過測試)class,以及測試運行的日志這是 Class:
public class GpsSession {
MainActivity main;
Context context;
String sessionsFolder = Environment.getExternalStorageDirectory() + "/MyFolder/Sessions/";
String sessionFileName;
public GpsSession(MainActivity _main){
main = _main;
context = main.getApplicationContext();
}
public boolean loadSessionFile(String _fileName){
Log.d("CHRONO", "loading " + _fileName);
if(_fileName == null) {
return false;}
File file = new File(sessionsFolder + _fileName);
if(!file.exists()){
Log.d("CHRONO", "file don't exists, returning false");
return false;
}
sessionFileName = sessionsFolder + _fileName;
ArrayList <String>storedValues = new ArrayList<>();
BufferedReader br = null;
int lineNumber = 0;
String line;
storedValues.clear();
//copy all the lines to arraylist
try {
br = new BufferedReader( new FileReader(sessionFileName));
while((line = br.readLine()) != null)
{
storedValues.add(line);
Log.d("CHRONO", "found line :" + lineNumber);
lineNumber++;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
Toast.makeText(context,context.getString(R.string.file_not_found), Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(context, context.getString(R.string.error_reading_file) + " IO", Toast.LENGTH_LONG).show();
}catch (Exception e) {
e.printStackTrace();
Toast.makeText(context, context.getString(R.string.error_reading_file) + " E", Toast.LENGTH_LONG).show();
}finally {
if(br!=null)
try {
br.close();
} catch(IOException e) {
e.printStackTrace();
}
}
//then parse them in array "parts"
for(int i = 0;i < storedValues.size();i++){
String[] parts = storedValues.get(i).split(",");
Log.d("CHRONO", "parsing line--" + i);
if(parts.length > 0) {
Log.d("CHRONO", "val= " + parts[0]); }
}
return true;
}
這是測試運行:
GpsSession uno = new GpsSession(this);
uno.loadSessionFile("dex.rcs");
GpsSession dos = new GpsSession(this);
dos.loadSessionFile("cip.rcs");
這是創建 2 個GpsClass
實例並loadSessionFile()
的日志示例:請注意第二個文件調用的解析行 128,有時
loading dex.rcs
found line :0
found line :1
found line :2
found line :3
found line :4
found line :5
found line :6
found line :7
found line :8
found line :9
found line :10
found line :11
found line :12
found line :13
found line :14
found line :15
found line :16
found line :17
found line :18
found line :19
found line :20
found line :21
found line :22
found line :23
found line :24
found line :25
found line :26
found line :27
found line :28
found line :29
found line :30
found line :31
found line :32
found line :33
found line :34
found line :35
found line :36
found line :37
found line :38
found line :39
found line :40
found line :41
found line :42
found line :43
found line :44
found line :45
found line :46
found line :47
found line :48
found line :49
found line :50
found line :51
found line :52
found line :53
found line :54
found line :55
found line :56
found line :57
found line :58
found line :59
found line :60
found line :61
found line :62
found line :63
found line :64
found line :65
found line :66
found line :67
found line :68
found line :69
found line :70
found line :71
found line :72
found line :73
found line :74
found line :75
found line :76
found line :77
found line :78
found line :79
found line :80
found line :81
found line :82
found line :83
found line :84
found line :85
found line :86
found line :87
found line :88
found line :89
found line :90
found line :91
found line :92
found line :93
found line :94
found line :95
found line :96
found line :97
found line :98
found line :99
found line :100
found line :101
found line :102
found line :103
found line :104
found line :105
found line :106
found line :107
found line :108
found line :109
found line :110
found line :111
found line :112
found line :113
found line :114
found line :115
found line :116
found line :117
found line :118
found line :119
found line :120
found line :121
found line :122
found line :123
found line :124
found line :125
found line :126
found line :127
found line :128
found line :129
found line :130
found line :131
found line :132
found line :133
found line :134
found line :135
found line :136
found line :137
found line :138
found line :139
found line :140
found line :141
found line :142
found line :143
found line :144
found line :145
found line :146
found line :147
found line :148
found line :149
found line :150
found line :151
found line :152
found line :153
found line :154
found line :155
found line :156
found line :157
found line :158
found line :159
parsing line--0
val= Race session file generated with yougarage data format
parsing line--1
val= date created <<Wed Nov 13 08:04:17 GMT+01:00 2019>>
parsing line--2
val= track name <<<listino.trk>>>
parsing line--3
val= "lap"
parsing line--4
val= 1
parsing line--5
val= 1
parsing line--6
val= 1
parsing line--7
val= 1
parsing line--8
val= 1
parsing line--9
val= 1
parsing line--10
val= 1
parsing line--11
val= 1
parsing line--12
val= 1
parsing line--13
val= 1
parsing line--14
val= 1
parsing line--15
val= 1
parsing line--16
val= 1
parsing line--17
val= 1
parsing line--18
val= 1
parsing line--19
val= 1
parsing line--20
val= 1
parsing line--21
val= 1
parsing line--22
val= 1
parsing line--23
val= 1
parsing line--24
val= 1
parsing line--25
val= 1
parsing line--26
val= 1
parsing line--27
val= 1
parsing line--28
val= 1
parsing line--29
val= 1
parsing line--30
val= 1
parsing line--31
val= 1
parsing line--32
val= 1
parsing line--33
val= 1
parsing line--34
val= 1
parsing line--35
val= 1
parsing line--36
val= 1
parsing line--37
val= 1
parsing line--38
val= 1
parsing line--39
val= 1
parsing line--40
val= 1
parsing line--41
val= 1
parsing line--42
val= 1
parsing line--43
val= 1
parsing line--44
val= 1
parsing line--45
val= 1
parsing line--46
val= 1
parsing line--47
val= 1
parsing line--48
val= 1
parsing line--49
val= 1
parsing line--50
val= 1
parsing line--51
val= 1
parsing line--52
val= 1
parsing line--53
val= 1
parsing line--54
val= 1
parsing line--55
val= 1
parsing line--56
val= 1
parsing line--57
val= 1
parsing line--58
val= 1
parsing line--59
val= 1
parsing line--60
val= 1
parsing line--61
val= 1
parsing line--62
val= 1
parsing line--63
val= 1
parsing line--64
val= 1
parsing line--65
val= 1
parsing line--66
val= 1
parsing line--67
val= 1
parsing line--68
val= 1
parsing line--69
val= 1
parsing line--70
val= 1
parsing line--71
val= 1
parsing line--72
val= 1
parsing line--73
val= 1
parsing line--74
val= 1
parsing line--75
val= 1
parsing line--76
val= 1
parsing line--77
val= 1
parsing line--78
val= 1
parsing line--79
val= 1
parsing line--80
val= 1
parsing line--81
val= 1
parsing line--82
val= 1
parsing line--83
val= 1
parsing line--84
val= 1
parsing line--85
val= 1
parsing line--86
val= 1
parsing line--87
val= 1
parsing line--88
val= 1
parsing line--89
val= 1
parsing line--90
val= 1
parsing line--91
val= 1
parsing line--92
val= 1
parsing line--93
val= 1
parsing line--94
val= 1
parsing line--95
val= 1
parsing line--96
val= 2
parsing line--97
val= 2
parsing line--98
val= 2
parsing line--99
val= 2
parsing line--100
val= 2
parsing line--101
val= 2
parsing line--102
val= 2
parsing line--103
val= 2
parsing line--104
val= 2
parsing line--105
val= 2
parsing line--106
val= 2
parsing line--107
val= 2
parsing line--108
val= 2
parsing line--109
val= 2
parsing line--110
val= 2
parsing line--111
val= 2
parsing line--112
val= 2
parsing line--113
val= 2
parsing line--114
val= 2
parsing line--115
val= 2
parsing line--116
val= 2
parsing line--117
val= 2
parsing line--118
val= 2
parsing line--119
val= 2
parsing line--120
val= 2
parsing line--121
val= 2
parsing line--122
val= 2
parsing line--123
val= 2
parsing line--124
val= 2
parsing line--125
val= 2
parsing line--126
val= 2
parsing line--127
val= 2
parsing line--128
val= 2
parsing line--129
val= 2
parsing line--130
val= 2
parsing line--131
val= 2
parsing line--132
val= 2
parsing line--133
val= 2
parsing line--134
val= 2
parsing line--135
val= 2
parsing line--136
val= 2
parsing line--137
val= 2
parsing line--138
val= 2
parsing line--139
val= 2
parsing line--140
val= 2
parsing line--141
val= 2
parsing line--142
val= 2
parsing line--143
val= 2
parsing line--144
val= 2
parsing line--145
val= 2
parsing line--146
val= 2
parsing line--147
val= 2
parsing line--148
val= 2
parsing line--149
val= 2
parsing line--150
val= 2
parsing line--151
val= 2
parsing line--152
val= 2
parsing line--153
val= 2
parsing line--154
val= 2
parsing line--155
val= 2
parsing line--156
val= 2
parsing line--157
val= 2
parsing line--158
val= 2
parsing line--159
val= 2
loading cip.rcs
found line :0
found line :1
found line :2
found line :3
found line :4
found line :5
found line :6
found line :7
found line :8
found line :9
found line :10
found line :11
found line :12
found line :13
found line :14
found line :15
found line :16
found line :17
found line :18
found line :19
found line :20
found line :21
found line :22
found line :23
found line :24
found line :25
found line :26
found line :27
found line :28
found line :29
found line :30
found line :31
found line :32
found line :33
found line :34
found line :35
found line :36
found line :37
found line :38
found line :39
found line :40
found line :41
found line :42
found line :43
found line :44
found line :45
found line :46
found line :47
found line :48
found line :49
found line :50
found line :51
found line :52
found line :53
found line :54
found line :55
found line :56
found line :57
found line :58
found line :59
found line :60
found line :61
found line :62
found line :63
found line :64
found line :65
found line :66
found line :67
found line :68
found line :69
found line :70
found line :71
found line :72
found line :73
found line :74
found line :75
found line :76
found line :77
found line :78
found line :79
found line :80
found line :81
found line :82
found line :83
found line :84
found line :85
found line :86
found line :87
found line :88
found line :89
found line :90
found line :91
found line :92
found line :93
found line :94
found line :95
found line :96
found line :97
found line :98
found line :99
found line :100
found line :101
found line :102
found line :103
found line :104
found line :105
found line :106
found line :107
found line :108
found line :109
found line :110
found line :111
found line :112
found line :113
found line :114
found line :115
found line :116
found line :117
found line :118
found line :119
found line :120
found line :121
found line :122
found line :123
found line :124
found line :125
found line :126
found line :127
found line :128
found line :129
found line :130
found line :131
found line :132
found line :133
found line :134
found line :135
found line :136
found line :137
found line :138
found line :139
found line :140
found line :141
found line :142
found line :143
found line :144
found line :145
found line :146
found line :147
found line :148
found line :149
found line :150
found line :151
found line :152
found line :153
found line :154
found line :155
found line :156
found line :157
found line :158
found line :159
found line :160
found line :161
found line :162
found line :163
found line :164
found line :165
found line :166
found line :167
found line :168
found line :169
found line :170
found line :171
found line :172
found line :173
found line :174
found line :175
found line :176
found line :177
found line :178
found line :179
found line :180
found line :181
found line :182
found line :183
found line :184
found line :185
found line :186
found line :187
found line :188
found line :189
found line :190
found line :191
found line :192
found line :193
found line :194
found line :195
found line :196
found line :197
found line :198
found line :199
found line :200
found line :201
found line :202
found line :203
found line :204
found line :205
found line :206
found line :207
found line :208
found line :209
found line :210
found line :211
found line :212
found line :213
found line :214
found line :215
found line :216
found line :217
found line :218
found line :219
found line :220
found line :221
found line :222
found line :223
found line :224
found line :225
found line :226
found line :227
found line :228
found line :229
found line :230
found line :231
found line :232
found line :233
found line :234
found line :235
found line :236
found line :237
found line :238
found line :239
found line :240
found line :241
found line :242
found line :243
found line :244
found line :245
found line :246
found line :247
found line :248
found line :249
found line :250
found line :251
found line :252
found line :253
found line :254
found line :255
found line :256
found line :257
found line :258
found line :259
found line :260
found line :261
found line :262
found line :263
found line :264
found line :265
found line :266
found line :267
parsing line--0
val= Race session file generated with yougarage data format
parsing line--1
val= date created <<Mon Nov 18 05:33:37 GMT+01:00 2019>>
parsing line--2
val= track name <<<listino.trk>>>
parsing line--3
val= "lap"
parsing line--4
val= 1
parsing line--5
val= 1
parsing line--6
val= 1
parsing line--7
val= 1
parsing line--8
val= 1
parsing line--9
val= 1
parsing line--10
val= 1
parsing line--11
val= 1
parsing line--12
val= 1
parsing line--13
val= 1
parsing line--14
val= 1
parsing line--15
val= 1
parsing line--16
val= 1
parsing line--17
val= 1
parsing line--18
val= 1
parsing line--19
val= 1
parsing line--20
val= 1
parsing line--21
val= 1
parsing line--22
val= 1
parsing line--23
val= 1
parsing line--24
val= 1
parsing line--25
val= 1
parsing line--26
val= 1
parsing line--27
val= 1
parsing line--28
val= 1
parsing line--29
val= 1
parsing line--30
val= 1
parsing line--31
val= 1
parsing line--32
val= 1
parsing line--33
val= 1
parsing line--34
val= 1
parsing line--35
val= 1
parsing line--36
val= 1
parsing line--37
val= 1
parsing line--38
val= 1
parsing line--39
val= 1
parsing line--40
val= 1
parsing line--41
val= 1
parsing line--42
val= 1
parsing line--43
val= 1
parsing line--44
val= 1
parsing line--45
val= 1
parsing line--46
val= 1
parsing line--47
val= 1
parsing line--48
val= 1
parsing line--49
val= 1
parsing line--50
val= 1
parsing line--51
val= 1
parsing line--52
val= 1
parsing line--53
val= 1
parsing line--54
val= 1
parsing line--55
val= 1
parsing line--56
val= 1
parsing line--57
val= 1
parsing line--58
val= 1
parsing line--59
val= 1
parsing line--60
val= 1
parsing line--61
val= 1
parsing line--62
val= 1
parsing line--63
val= 1
parsing line--64
val= 1
parsing line--65
val= 1
parsing line--66
val= 1
parsing line--67
val= 1
parsing line--68
val= 1
parsing line--69
val= 1
parsing line--70
val= 1
parsing line--71
val= 1
parsing line--72
val= 1
parsing line--73
val= 1
parsing line--74
val= 2
parsing line--75
val= 2
parsing line--76
val= 2
parsing line--77
val= 2
parsing line--78
val= 2
parsing line--79
val= 2
parsing line--80
val= 2
parsing line--81
val= 2
parsing line--82
val= 2
parsing line--83
val= 2
parsing line--84
val= 2
parsing line--85
val= 2
parsing line--86
val= 2
parsing line--87
val= 2
parsing line--88
val= 2
parsing line--89
val= 2
parsing line--90
val= 2
parsing line--91
val= 2
parsing line--92
val= 2
parsing line--93
val= 2
parsing line--94
val= 2
parsing line--95
val= 2
parsing line--96
val= 2
parsing line--97
val= 2
parsing line--98
val= 2
parsing line--99
val= 2
parsing line--100
val= 2
parsing line--101
val= 2
parsing line--102
val= 2
parsing line--103
val= 2
parsing line--104
val= 2
parsing line--105
val= 2
parsing line--106
val= 2
parsing line--107
val= 2
parsing line--108
val= 2
parsing line--109
val= 2
parsing line--110
val= 2
parsing line--111
val= 2
parsing line--112
val= 2
parsing line--113
val= 2
parsing line--114
val= 2
parsing line--115
val= 2
parsing line--116
val= 2
parsing line--117
val= 2
parsing line--118
val= 2
parsing line--119
val= 2
parsing line--120
val= 2
parsing line--121
val= 2
parsing line--122
val= 2
parsing line--123
val= 2
parsing line--124
val= 2
parsing line--125
val= 2
parsing line--126
val= 2
parsing line--127
val= 2
parsing line--128
val= 2
val= 2
parsing line--188
parsing line--220
parsing line--240
val= 2
經過進一步調查,我發現問題與我用於測試的設備有關。 代碼已執行,但會隨機跳過 Log.d 調用。 該設備是小米紅米5 Plus。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.