marți, 5 ianuarie 2010

Hello,
va prezint model de citire din fisier a unei matrici
utilizand acest model de citire a unui fisier puteti sa creeati mai departe si o arhiva jar

fisierul contine pe prima linie un sir de numere,iar pe urmatoarele lini contine o matrice de int.citirea din fisier se face linie cu linie;fiecare linie se citeste ca un string iar apoi din string se extrag numai cifrele eliminand spatiile albe.

public void citireMat(String s)
{
/*File file = new File(s);
FileInputStream fis = null;
BufferedInputStream bis = null;
DataInputStream cit = null;*/
String linie; //string care imi retine o linie
int contor=-1; //contor care imi contorizeaza cate linii am citit
int cont1=0;

String aux1;
int j=0;
try
{

InputStream in =getClass().getResourceAsStream(s);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
// BufferedInputStream br = new BufferedInputStream(getClass().getResourceAsStream(s));
// dis.available() returns 0 if the file does not have more lines.

while ((strLine = br.readLine()) != null)
{
contor=contor+1;; //incrementez contorul la fiecare citire
//linie=cit.readLine();
strLine=strLine.trim();
StringTokenizer st = new StringTokenizer(strLine, " ");
j=0;
if (contor==0){
String aux=st.nextToken();
n=Integer.parseInt(aux);
//citim de pe prima linie a fisierului nr de cutii,pozitii finale ale cutiilor,pozitia initiala a juc si timpul pt stagiu
for(int k=0;k<(n);k++)
{
aux=st.nextToken();
x[k]=Integer.parseInt(aux);
}
for(int k=0;k<(n);k++)
{
aux=st.nextToken();
y[k]=Integer.parseInt(aux);
}
aux=st.nextToken();
jx=Integer.parseInt(aux);
aux=st.nextToken();
jy=Integer.parseInt(aux);
aux=st.nextToken();
timp=Integer.parseInt(aux);



}//final if
else{
while(st.hasMoreTokens())
{
aux1=st.nextToken();
a[cont1][j]=Integer.parseInt(aux1);
j++;
}
cont1++;
}
}
in.close();


} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

by Coatan Alexadru

Niciun comentariu:

Trimiteți un comentariu