Benim res/raw klasörüne yerleştirdiğim bir words.txt
dosyam var. Dosyadaki kelimeler boşlukla ayrılır. Dosya sözcüğünü kelime ile okumak için Android/Java kodu'u yazarken çok zorlanıyorum.Android raw text dosyasını okuma
cevap
Oku res/raw
klasörden dize
InputStream inputStream = getResources().openRawResource(R.raw.yourtextfile);
BufferedReader bufferedReader= new BufferedReader(new InputStreamReader(inputStream));
String eachline = bufferedReader.readLine();
while (eachline != null) {
// `the words in the file are separated by space`, so to get each words
String[] words = eachline.split(" ");
eachline = bufferedReader.readLine();
}
ham klasöründen dosyadan kelime getResources().openRawResource(R.raw.song);
Sonra InputStream almak kullanarak ham klasöründen veri oku Aşağıdaki yaklaşımı
ile denemek almak için Bayt dizisi 'daki veriler verileri boşlukla ayırır.
aşağıdaki kodu
InputStream is =getResources().openRawResource(R.raw.song);
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
byte[] myData = baf.toByteArray();
String dataInString = new String(myData);
String[] words = dataInString.split(" ");
Teşekkür Deepak
-1 ... ben bu modeli gördüm .read())! = -1) {... birçok yanıtta ... yayınlayan kişi (siz değil) ilk önce – Selvin
basit bir Scanner kullanmaktır kullanın.
Scanner s = new Scanner(getResources().openRawResource(R.raw.text_file));
try {
while (s.hasNext()) {
String word = s.next();
// ....
}
} finally {
s.close();
}
Varsayılan sınırlayıcı boşluktur (boşluk dahil). Eğer sadece alan üzerinde tetiklemek istiyorsanız onu oluşturduktan sonra s.useDelimiter(" ");
kullanın.
çekilmelidir. Bu kodu sadece birkaç kelimesi olan bir metin dosyası ile kullanmanız yeterlidir. ince. Fakat 100.000 kelime içeren bir dosyayı kullandığımda, emülatör yanıt vermiyor. Neden düşünüyorsun? –
Eh ... Bu çözümün aşağı tarafı, "Tarayıcı" her arama için yeni dizeler oluşturacak ve gelecek için pahalı olabilir. Ama bu gerçekten başka bir sorundur ve yeni bir soruda sorulmalıdır ** (* Bölünmüş (..) 'metodu yeni dizeler yaratmadığından beri büyük dosyalar varsa @Sunil Kumar Sahoo çözümünü kullanırdım temel dizeyi yeniden kullanır *). – dacwe
Aynı sorularım vardı ve yukarıdaki cevaplar doğru olsa da başarılı bir şekilde çalışmaya başlayamadım. Ben neden tam emin değilim
// this is just the click handler for a button...
public void loadStatesHandler(View v) {
try {
String states = getStringFromRaw(this);
readOutput.setText(states);
}
catch(Throwable t) {
t.printStackTrace();
}
}
private String getStringFromRaw(Context c) throws IOException {
Resources r = c.getResources();
InputStream is = r.openRawResource(R.raw.states);
String statesText = convertStreamToString(is);
is.close();
return statesText;
}
private String convertStreamToString(InputStream is) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int i = is.read();
while (i != -1) {
baos.write(i);
i = is.read();
}
return baos.toString();
}
: Bu neredeyse kesin Benim açımdan operatör hatası ve cehalet - ama her ihtimale karşı Birisi nasıl görmek istiyor - - n00b sonunda yaptılar, işte çözüm Bu, benim için temelden farklı göründüğü gibi olmadığında benim için çalıştı - ama dediğim gibi - muhtemelen benim üstümdeki operatör hatasıydı.
Ayrıca bir Sunil Kumar Sahoo önerdiği vs bu yöntemin verimi (ya da onun eksikliği) hakkında herhangi bir fikir duymak isterim. –
//put your text file to raw folder, raw folder must be in resource folder.
private TextView tv;
private Button btn;
btn = (Button)findViewById(R.id.btn_json);
tv = (TextView)findViewById(R.id.tv_text);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SimpleText();
}
});
private void SimpleText(){
try {
InputStream is = this.getResources().openRawResource(R.raw.simpletext);
byte[] buffer = new byte[is.available()];
while (is.read(buffer) != -1);
String jsontext = new String(buffer);
tv.setText(jsontext);
} catch (Exception e) {
Log.e(TAG, ""+e.toString());
}
}
- 1. Kaynaklardan XML dosyasını okuma
- 2. Okuma * .mhd/*. Raw formatı python
- 3. Kaynaklar klasöründeki CSV dosyasını okuma android
- 4. QT XML dosyasını okuma, yapı
- 5. Bir .pdb dosyasını okuma
- 6. Android raw kaynak dosyasında RandomAccessFile
- 7. vbscript ile xml dosyasını okuma
- 8. PDF dosyasını javascript kullanarak okuma
- 9. Katıştırılmış bir metin dosyasını okuma
- 10. Farklı kodlamayla Rdata dosyasını okuma
- 11. C'deki "raw" bellekten nasıl tip/okuma değerleri yazılır?
- 12. Android EditText background text
- 13. Res/raw programlı içeriğinin içeriğine erişilmesi (Android)
- 14. Json dosyasını Pandas Dataframe hatası olarak okuma
- 15. Hadoop Haritası Reduce text dosyasını okuyun
- 16. Android: text color holo light
- 17. Android Speech to Text Örnek
- 18. android button fine text alignment
- 19. Android Studio txt, mp3 ve diğer dosyaları okuma
- 20. IronPython'da codec'lerle UTF-8 dosyasını okuma
- 21. R: Bir netCDF dosyasını raster olarak okuma
- 22. Metin Dosyasını C Doğru Siparişe Okuma
- 23. Bir Android uygulamasında PDF okuma
- 24. Raw ActionLink linkText
- 25. Opencv Python raw image
- 26. Android Gradle Okuma Uygulaması Adlar from strings.xml
- 27. Res/raw klasöründen sd kartına dizinleri ve dosyaları kopyala - android
- 28. Neden Android Studio'da "raw türünde beklenen kaynak" hatası alıyorsunuz?
- 29. Okuma/Okuma Dize Dizisi dahili depolama alanı android
- 30. android edit text nasıl başa yazmaya başlayabilirsiniz?
burada en iyi çözüm bulundu: 'iken ((cari = bis: byte okuma byte için http://stackoverflow.com/a/5675934/336990 – CoDe