Ich versuche, diese Datei zu lesen:Probleme Lesen einer Datei
Distinguished/Kunde:
Wir begrüßen Sie zu unserer Firma und wir wollen, dass unsere Beziehung immer sehr zufriedenstellend ist.
Mit freundlichen Grüßen,
Direktor
und es ist obligatorisch, es zu tun, als ob die Worte in der Datei "Paraula" waren Objekte. Diese ist die Klasse Paraula:
public class Paraula {
private static final int MAXIM = 900;
public char[] lletres;
public int longitud;
public static boolean salto;
/**
* El constructor Paraula crea una objecte paraula de longitud 0 (buida)
*/
public Paraula() {
lletres = new char[MAXIM];
longitud = 0;
}
/**
* passa la paraula a cadena de caràcters
* @return
*/
@Override
public String toString() {
String s = "";
for (int i = 0; i < longitud; i++) {
s += lletres[i];
}
return s;
}
/**
* Afegeix una lletra que es passa com a paràmetre a la paraula
* @param c
*/
public void afegirCaracter(char c) {
if (longitud < MAXIM) {
lletres[longitud] = c;
longitud++;
}
}
/**
* compara l'objecte amb la paraula passada per paràmetre
* i retorna vertader si són iguals. És la cerca d'un caràcter diferent
* @param p
* @return
*/
// public boolean esIgualA(Paraula p) {
// int i = 0;
// while (lletres[i] == p.lletres[i] && i < longitud) {
// i++;
// }
// return lletres[i] == p.lletres[i];
// }
public boolean esIgualA(Paraula b) {
boolean iguals = longitud == b.longitud;
for (int idx = 0; (idx < longitud) && iguals; idx++) {
iguals = lletres[idx] == b.lletres[idx];
}
return iguals;
}
/**
* retorna vertader si la parula té longitud zero
* @return
*/
public boolean buida() {
return longitud == 0;
}
}
Und ich habe diese Klasse, um die Dateien zu lesen:
public class FicheroPalabraIn {
private int x;
private FileReader fin = null;
public static boolean salto;
/**
* El constructor FitxerParaulaIn crida al constructor de FileReader i
* llegeix fins al principi de la primera paraula si n'hi ha cap o fins al
* final de fitxer en cas contrari
*
* @param nom
* @throws Exception
*/
public FicheroPalabraIn(String nom) throws Exception {
fin = new FileReader(nom);
x = fin.read();
principiParaula();
}
/**
* tanca el fitxer de caràcters
*
* @throws Exception
*/
public void TancaFitxer() throws Exception {
fin.close();
}
/**
* El mètode llegir retorna una paraula del fitxer, per això cerca el final
* de la paraula, en aquest cas s'ha suposat que no hi ha signes de
* puntuació diferents de blanc i que la paraula mai serà més gran del
* previst. El programa és una cerca del final de la paraula Després de
* llegir la paraula ens posicionam al principi de la següent o al fi de
* fitxer
*
* @return
*/
public Paraula llegir() throws Exception {
Paraula p = new Paraula();
char c = (char) x;
while ((c != ' ') && (c != '\n') && (c != '\r') && (x != -1)) {
p.afegirCaracter(c);
x = fin.read();
c = (char) x;
}
principiParaula();
return p;
}
public Paraula llegirCarta() throws Exception { //in this method I use a boolean to indicate when it reads a \n but it doesn't work as expected
Paraula p = new Paraula();
char c = (char) x;
while (x != -1) {
x = fin.read();
c = (char) x;
if ((c == '\n') || (c == '\r')) {
salto = true;
} else {
p.afegirCaracter(c);
}
}
principiParaula();
return p;
}
//---------------------------------------------------------------------------------
public Paraula llegirNombre() throws Exception {
Paraula p = new Paraula();
char c = (char) x;
while ((c != '#') && (x != -1)) {
p.afegirCaracter(c);
x = fin.read();
c = (char) x;
}
principiParaula();
return p;
}
public Paraula llegirDireccion() throws Exception {
Paraula p = new Paraula();
char c = (char) x;
while ((x != -1) && (c != '\n') && (c != '\r')) {
p.afegirCaracter(c);
x = fin.read();
c = (char) x;
}
principiParaula();
return p;
}
//----------------------------------------------------------------------------------
//El mètode principiParaula és privat i és una cerca del principi de paraula
private void principiParaula() throws Exception {
char c = (char) x;
while (c == ' ' || c == '\n' || c == '\r') {
x = fin.read();
c = (char) x;
}
}
/**
* El mètode quedenParaules retorna vertader si no s'està al fi de fitxer
*
* @return
*/
public boolean QuedenParaules() {
return x != -1;
}
}
Das Problem ist, dass ich brauche, um die Datei zu lesen und dann ein schreiben Sie den Inhalt in einer anderen Datei, aber es liest nicht „\ n“ „\ r“ Wenn ich schreibe, so scheint es in der Quelle die neue Datei-Datei in nur einer Zeile. Wie kann ich es tun, um es zu „retten“ Wenn die Zeichen wissen oder lesen, ist ein ‚\ n‘ es in der neuen Datei zu schreiben und noch esta Verfahren zum Lesen verwenden, als ob die Worte Paraula Objekte wurden?
Danke
Ich weiß es leichter vergessen, aber es ist für die Universität und es ist obligatorisch, es zu tun ich erklärte, wie ich @BooRadley – Januan
Wenn aufgrund einiger Anforderung, die Sie verwenden müssen, dass Sie den Parser 'String Split verwenden können()‚Funktion auf Zeilenenden zu einer Reihe von teil~~POS=TRUNC erhalten. –