Hallo ,
Ich möchte ein Code schreiben für ein Programm das eine Datei liest und die Buchstaben
in Großbuchstaben umwandelt aber irgendwie bekomme ich ein kommisches Exception dass ich nicht verstehen kann.
So sieht mein Code aus:
nun ja die meisten davon sit nicht wichtig nur die Methode read
es hört es irgendwie auf,
Könnte mir jemand helfen ,Bitte
Danke.
Ich möchte ein Code schreiben für ein Programm das eine Datei liest und die Buchstaben
in Großbuchstaben umwandelt aber irgendwie bekomme ich ein kommisches Exception dass ich nicht verstehen kann.
So sieht mein Code aus:
Java:
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.FileOutputStream;
import java.io.File;
import javax.swing.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.FlowLayout;
public class GrossbuchstabenStream extends InputStream implements KeyListener {
JFrame frame=new JFrame("GrossbuchstabenStream");
JTextField root=new JTextField(20);
JPanel panel=new JPanel();
JLabel label=new JLabel("Wo liegt die Datei??");
InputStream fis;
OutputStream fos;
GrossbuchstabenStream(){
this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.frame.getContentPane().setLayout(new FlowLayout());
this.frame.add(this.label);
this.frame.add(this.root);
this.root.addKeyListener(this);
this.frame.setVisible(true);
this.frame.pack();
}
@Override
public void keyReleased(KeyEvent arg0) {
if(arg0.getSource()==this.root){
if(arg0.getKeyCode()==KeyEvent.VK_ENTER){
try{
File in= new File(this.root.getText());
File out=new File(this.root.getText()+"neueDate.txt");
this.fis=new FileInputStream(in);
this.fos=new FileOutputStream(out);
this.read();
}
catch(Exception e){
this.label.setText(e.getMessage());
this.frame.add(this.label);
}
}
}
}
public int read() throws IOException {
try{
int read=fis.read();
while (read != -1) {
char c=Character.toUpperCase((char)read);//die eingabe als Byte in char mit uppercase konvertieren und dann wieder zu string,von string in Int und
//am ende wird es wieder an fos geschrieben.
System.out.println(c);
read=Integer.parseInt(String.valueOf(c));
this.fos.write(read);
read = fis.read();
}
}
catch(Exception e){
this.label.setText(e.getMessage());
this.frame.add(this.label);
}
return 0;
}
public static void main(String[]args){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
GrossbuchstabenStream f=new GrossbuchstabenStream();
}
});
}
@Override
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
}
Java:
public int read() throws IOException {
try{
int read=fis.read();
while (read != -1) {
char c=Character.toUpperCase((char)read);//die eingabe als Byte in char mit uppercase konvertieren und dann wieder zu string,von string in Int und
//am ende wird es wieder an fos geschrieben.
System.out.println(c);
read=Integer.parseInt(String.valueOf(c));//hier hört das Compiler auf
this.fos.write(read);
read = fis.read();
}
}
catch(Exception e){
this.label.setText(e.getMessage());
this.frame.add(this.label);
}
return 0;
}
Könnte mir jemand helfen ,Bitte
Danke.