- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
import javax.microedition.lcdui.*;
import java.lang.*;
import java.io.*;
public class LNRES
{
public InputStream is=null;
public String lines[]=null;
LNRES(String name,int size)
{
int x=0;
is=getClass().getResourceAsStream(name);
byte mb[]=new byte[size];
try { x=is.read(mb); } catch (Exception ex) { }
char mc[]=new char[x];
for (int i=0; i<x; i++) mc[i]=(char)mb[i];
int n=0,a=0,l=0;
String mas2[]=null;
for (int i=0; i<mc.length; i++) {
if ((mb[i]==13)||(i==mc.length-1)) {
mas2=new String[n+1];
for (int j=0; j<n; j++) mas2[j]=new String(lines[j]);
mas2[n]=new String(mc,a,l+((i==mc.length-1)?1:0)); n++; lines=new String[n];
for (int k=0; k<n; k++) lines[k]=new String(mas2[k]);
a=i+2; l=0; i++;
} else l++;
}
lines=new String[n];
for (int i=0; i<n; i++) lines[i]=new String(mas2[i]);
}
}
Писалось под j2me. Класс считывает весь файл и превращает его в массив строк.
Dimarius 05.09.2009 18:14 # 0
string[] lines = File.ReadAllLines(path);
guest 09.09.2009 23:11 # 0
k06a 04.10.2009 21:07 # 0
guest 13.09.2009 21:02 # 0
сначала засасывает все а потом только обрабатывает - всеж это одновременно надо делать
причем код потенциально неработоспособный
try { x=is.read(mb); } catch (Exception ex) { }
вот это может и не засосать все на какихнить железках по какимнить причинам и поэтому это как правило лупится
for (int i=0; i<x; i++) mc[i]=(char)mb[i]; и тут может быть обрубок а невесь файл.
про незнание что есть StringBuffer (он точно есть в МЕ), System.arrayCopy() и про тупой неуниверсальный алгоритм чтения я вообще молчу
пипец тому кто будет портировать его поделки
k06a 15.09.2009 19:04 # 0
Забавно было встретить это чудо)))
guest 13.09.2009 21:07 # 0