Hallo,
Für meine App soll ein Hexfile eingelesen und ausgewertet werden.
File zB:
:100030006C02000000000000680200006402000082
:10004000B0009FE5AA10A0E35520A0E32430A0E370
:10005000043080E50130A0E3003080E50C1080E53D
:100060000C2080E5083090E5013B13E2FCFFFF0A1D
:100070000330A0E3003080E50C1080E50C2080E523
:1000800074009FE50410A0E3041080E50210A0E3D3
:10009000001080E564009FE5DBF021E300D0A0E1E3
:1000A000040040E2D7F021E300D0A0E1040040E2E8
:1000F000FEFFFFEAFEE7C04680C01FE000C01FE031
:1001000090080040FD010000F0000000F500000034
:070110000A48616C6C6F00EE
:1001180000000000000000000000000000000000D7
:100128000F491048016010491048016010491148F2
:1001380001601149114801601149124801601049D4
:10014800114801601149124801608321114801706A
:1001580008211148017003210E4801707047C046FC
:1001680055A0258000C002E030380280048002E0FB
Mein Programm:
String lines="";String programm = "";int typ=0;
String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getPath();
String fileName= "Hallo_2.hex";
File file = new File(path, fileName);InputStream fis = null;try { fis = new FileInputStream(file);} catch (FileNotFoundException e) { e.printStackTrace();}InputStreamReader isr = new InputStreamReader(fis, Charset.forName("UTF-8"));BufferedReader br = new BufferedReader(isr);try {
while ((lines = br.readLine()) != null) {
typ = Integer.valueOf(lines.substring(8,9 ), 16);
switch (typ)
{
case 0: // Daten
programm += lines.substring(9, lines.length() - 2);
break;
case 1: // Ende
break;
default:
System.out.print("ERROR: FRAME OF UNKNOWN TYPE");
System.out.print("\n"); } }}
catch (IOException e)
{
e.printStackTrace();
}
Wie man sieht lese ich das File ein, und werte es anhang des Typen aus, dann übergebe ich die Daten an String programm.
Wie kann ich nicht das ganze File sondern 1800 Strings einlesen stoppen , bzw was anderes machen ,dann die nächsten 1800 Strings einlesen usw.
Dabei die gelesene Line mir merken um Später den Rest einzulesen.
Kann mir jemand helfen?
Danke schon mal!