I have a text file, and i was able to read the full content and display it on a view.
Sample example format for text file :-
## userdetail
[William]
[Bits]
6th cross road, City house.
Rio.
<051-22345690>|<002-22345690>
## calldetails
income 22.
out going 24.
missed 21.
## Lorempsum
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
when an unknown printer took a galley of type and scrambled it to make a type specimen book
## userot
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
...........
...........
...........
it like more 50 line
But my requirement is I need to get particular data from the field names.I can get "## userot" value of all unique ids. But I require the details of in-between data without hash-mapping.
the data sometimes are also in the next line too. I Mean, on some case i have 5 lines,
on other in have 10 lines of text. So I need all the lines below "## " till next "##" –
friend please give me solution for it ?
The solution below is find all the lines after '## userot' until the next ##
FileInputStream fileIn = openFileInput("mytextfile.txt");
InputStreamReader inputRead = new InputStreamReader(fileIn);
BufferedReader reader = new BufferedReader(inputRead);
while ((str = reader.readLine()) != null){
if(str.contains("##") && str.contains("userot"){
while ((str = reader.readLine()) != null){
if(str.contains("##"))
break;
else
Log.d("TAG","output: " + str);
}
break;
}
}
Use the below code, it may help you:-
String sAddr="";
try {
FileInputStream fileIn=c.openFileInput(LOGS_TEXT_FILE);
InputStreamReader InputRead= new InputStreamReader(fileIn);
char[] inputBuffer= new char[READ_BLOCK_SIZE];
int charRead;
while ((charRead=InputRead.read(inputBuffer))>0) {
// char to string conversion
String readstring=String.copyValueOf(inputBuffer,0,charRead);
sAddr +=readstring;
}
InputRead.close();
} catch (Exception e) {
e.printStackTrace();
}
String[]sAllAddrs = sAddr.split("\n"); // it would read the next line data and save it to a string.
for(int i=0; i<sAllAddrs.length;i++){
try {
//perform your logic to get those and write them...
}catch(Exception e){
e.printStackTrace();
}
InputStream inputStream = getResources().openRawResource(R.raw.storydata);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream), 8192);
try {
String line_1;
while ((line_1 = reader.readLine()) != null)
{
while ((line_1 = reader.readLine()) != null)
{
if(line_1.contains("##") && line_1.contains("userot"))
{
while ((line_1 = reader.readLine()) != null)
{
if(line_1.contains("##"))
break;
else
Toast.makeText(getBaseContext(), "" +line_1, Toast.LENGTH_LONG).show();
}
break;
}
}
}
} catch (IOException e)
{
throw new RuntimeException(e);
}
line by line reader text file .... thanks for Hussain Alaidarous its work perfectly ....