Comment puis-je lire un fichier texte comme dans Android app:
"1.something written
2.in this file
3.is to be read by
4.the InputStream
..."
donc je peux être retourné une chaîne comme:
"something written\nin this file\nis to be read by\nthe InputStream"
ce que je pensais est (Pseudocode):
make an inputstream
is = getAssest().open("textfile.txt"); //in try and catch
for loop{
string = is.read() and if it equals "." (i.e. from 1., 2., 3. etc) add "/n" ...
}
essaye ça
import Android.app.Activity;
import Android.os.Bundle;
import Android.widget.Toast;
import Java.io.*;
public class FileDemo1 extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
playWithRawFiles();
} catch (IOException e) {
Toast.makeText(getApplicationContext(), "Problems: " + e.getMessage(), 1).show();
}
}
public void playWithRawFiles() throws IOException {
String str = "";
StringBuffer buf = new StringBuffer();
InputStream is = this.getResources().openRawResource(R.drawable.my_base_data);
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
if (is != null) {
while ((str = reader.readLine()) != null) {
buf.append(str + "\n" );
}
}
} finally {
try { is.close(); } catch (Throwable ignore) {}
}
Toast.makeText(getBaseContext(), buf.toString(), Toast.LENGTH_LONG).show();
}
}
Utilisez BufferedReader
pour lire le flux d'entrée. Comme BufferedReader
lira le texte d'un flux d'entrée de caractères, mettant les caractères en mémoire tampon afin de permettre une lecture efficace des caractères, des tableaux et des lignes. InputStream
représente un flux d'entrée d'octets. reader.readLine()
lira le fichier ligne par ligne.
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder out = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
out.append(line); // add everything to StringBuilder
// here you can have your logic of comparison.
if(line.toString().equals(".")) {
// do something
}
}
File fe=new File(abc.txt);
FileInputStream fis=new FileInputStream(fe);
byte data[]=new byte[fis.available()];
fis.read(data);
fis.close();
String str=new String(data);
System.out.println(str);