Ce n'est pas que mon code ne fonctionne pas, mais je doute que ce soit très efficace ou non. Ma théorie est, que ce n'est pas xDPlus de manière efficace de choisir une partie une chaîne de JTextPane?
J'ai un JTextPane où je dois prendre le texte dedans (Faire une nouvelle ligne chaque fois que le JTextPane a une nouvelle ligne), et le mettre dans un fichier .txt fichier. Comme je l'ai dit tout fonctionne mais je doute de la mise en œuvre de celui-ci. C'est la partie que je suis doutant:
public void printLog() {
String s = logTextArea.getText();
ArrayList<String> log = new ArrayList<>();
StringBuilder sb = new StringBuilder();
for(int i = 0; i < s.length(); i++) {
if(s.charAt(i) != '\n') {
sb.append(s.charAt(i));
} else {
log.add(sb.toString());
sb.delete(0, sb.length());
}
}
C'est la chose entière juste pour la référence:
public void printLog() {
String s = logTextArea.getText();
ArrayList<String> log = new ArrayList<>();
StringBuilder sb = new StringBuilder();
for(int i = 0; i < s.length(); i++) {
if(s.charAt(i) != '\n') {
sb.append(s.charAt(i));
} else {
log.add(sb.toString());
sb.delete(0, sb.length());
}
}
File f = new File("JServer_Log.txt");
BufferedWriter bw = null;
FileWriter fr = null;
try {
if(f.exists()) {
fr = new FileWriter(f,true);
} else {
fr = new FileWriter(f);
}
} catch (IOException e) {
// Nothing to do really.
}
try {
bw = new BufferedWriter(fr);
Iterator<String> itr = log.iterator();
bw.newLine();
while(itr.hasNext()) {
bw.write(itr.next());
bw.newLine();
}
} catch (IOException e) {
// Nothing to do really. We lost the log?
} finally {
try {
bw.close();
} catch(IOException ioe) {
// The program is closing any way.
}
}
}
Merci. Regarde plus élégant si quelque chose au moins xD – OmniOwl