Problem ist, welcher File soll benutzt werden? Dann sind deine .write("+s1;+") auch nicht sonderlich erfolgreich...
Das Schreiben von Datein solltest du dir auch nocheinmal ansehen...
Das Design der Class ist auch naja, man sollte nicht 90% des codes in den Konstrucktor packen...
Aber jeder fängt mal an
Für das auswählen der Datei würde ich einen FileChooser benutzt... habe das mal in deinen Code eingebaut.
[Java]
package de.volkswagen.aws100p.client.util;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;
import javax.swing.filechooser.FileFilter;
import de.volkswagen.aws100p.client.i18n.I18N;
public class Word extends JFrame {
// Anfang Attribute
private JButton jB_auslesen = new JButton();
private JTextArea jTA_1 = new JTextArea("");
private JScrollPane jTA_1ScrollPane = new JScrollPane(jTA_1);
private JButton jB_wiedergeben = new JButton();
private JTextArea jTA_2 = new JTextArea("");
private JScrollPane jTA_2ScrollPane = new JScrollPane(jTA_2);
// Ende Attribute
private static File file;
private final String[] allowedExtension = { ".csv" };
public Word(String title) {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 648;
int frameHeight = 594;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
jB_auslesen.setBounds(136, 96, 355, 25);
jB_auslesen.setText("Auslesen");
jB_auslesen.setMargin(new Insets(2, 2, 2, 2));
jB_auslesen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jB_auslesen_ActionPerformed(evt);
}
});
jB_auslesen.setFont(new Font("Dialog", Font.PLAIN, 13));
cp.add(jB_auslesen);
jTA_1ScrollPane.setBounds(136, 144, 353, 113);
jTA_1.setText("");
jTA_1.setLineWrap(true);
cp.add(jTA_1ScrollPane);
jB_wiedergeben.setBounds(136, 288, 355, 25);
jB_wiedergeben.setText("Wiedergeben");
jB_wiedergeben.setMargin(new Insets(2, 2, 2, 2));
jB_wiedergeben.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jB_wiedergeben_ActionPerformed(evt);
}
});
jB_wiedergeben.setFont(new Font("Dialog", Font.PLAIN, 13));
cp.add(jB_wiedergeben);
jTA_2ScrollPane.setBounds(136, 336, 353, 121);
jTA_2.setText("");
jTA_2.setLineWrap(true);
cp.add(jTA_2ScrollPane);
jTA_2.setFont(new Font("Dialog", Font.PLAIN, 13));
jTA_1.setFont(new Font("Dialog", Font.PLAIN, 13));
jTA_2ScrollPane.setViewportView(jTA_2);
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Methoden
public void jB_auslesen_ActionPerformed(ActionEvent evt) {
BufferedReader datei_lesen;
BufferedWriter datei_schreiben;
String zeile;
String s1;
String s2;
String s3;
final JFileChooser fileopen = new JFileChooser(file);
fileopen.setFileSelectionMode(JFileChooser.FILES_ONLY);
fileopen.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
return "deinText";
}
@Override
public boolean accept(File f) {
for (String extension : allowedExtension) {
if (f.getName().toLowerCase().endsWith(extension) || f.isDirectory()) {
return true;
}
}
return false;
}
});
int ret = fileopen.showDialog(this, "Csv öffnen");
if (ret == JFileChooser.APPROVE_OPTION) {
file = fileopen.getSelectedFile();
} else { // Immer abbrechen, wenn nicht OK betätigt wurde
JOptionPane.showMessageDialog(this, "Abbruch durch Benutzer", "Fehler", JOptionPane.INFORMATION_MESSAGE);
file = null; // File ist null, für später...
}
try {
if(file == null) // Etwas machen wenn File == null ...
return;
datei_lesen = new BufferedReader(new FileReader(file));
datei_schreiben = new BufferedWriter(new FileWriter("newword.csv"));
while ((zeile = datei_lesen.readLine()) != null) {
jTA_1.append(zeile + '\n');
s1 = zeile.substring(0, zeile.indexOf(';'));
s2 = zeile.substring(zeile.indexOf(';') + 1, zeile.length());
s3 = zeile.substring(zeile.indexOf(';') + 2, zeile.length());
datei_schreiben.write(s1);
datei_schreiben.write(s2);
datei_schreiben.write(s3);
}
datei_lesen.close();
datei_schreiben.write(+'\n');
datei_schreiben.close();
System.out.println("Abgeschlossen");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void jB_wiedergeben_ActionPerformed(ActionEvent evt) {
BufferedReader datei;
String zeile;
try {
datei = new BufferedReader(new FileReader("newword.csv"));
while ((zeile = datei.readLine()) != null) {
jTA_2.append(zeile + ";");
}
datei.close();
} catch (IOException e) {
System.out.println("Datei kann nicht aus der geschriebenen Datei gelesen werden");
}
}
// Ende Methoden
public static void main(String[] args) {
new Word("Test");
}
}
[/Java]
PS: Class Namen schreibt man den 1. Buchstaben im UpperCase "Word" nicht "word"