0

私は現在、Java 1.4.2 GUI ファイルの読み取り/保存/暗号化プログラムに取り組んでいます。500行以上あるので全部は載せませんが… 困っている部分だけ載せます。私が抱えている問題は暗号化機能にあります。暗号化するファイルの名前を入力するボックスがポップアップ表示されますが、何を入力しても、ファイルを入力する前に FileNotFound 例外が発生します。ファイル名。開く機能と保存する機能は正常に機能しますが、暗号化部分にすぎません。

ここにあります:

public void encrypt() throws IOException
{

        openWin = new JFrame("Encrypt File");

        Container openFile = openWin.getContentPane();


        JLabel L1;
        JPanel panel = new JPanel();
        JButton encryptButton;

        L1 = new JLabel ("Choose File to Encrypt: ");

        panel.add(L1);
        output = new JTextField(20);
        panel.add(output);

        encryptButton = new JButton("Encrypt File");
        encryptButton.addActionListener(this);
        panel.add(encryptButton);

        openFile.add(panel);

        openWin.setBounds(50,100,400,150);
        openWin.setVisible(true);


    //Get the current content pane
    contentPane = this.getContentPane();

    //refresh the content pane
    if(mainPanel !=null)
        contentPane.remove(mainPanel);

    //Create a new mainPanel
    mainPanel = new JPanel();
        //We need a buffered reader to read the file
    BufferedReader in = new BufferedReader(new FileReader(fileName));

    //Temp will hold heach line read in, text will be the final string
    String temp="";
    String text="";


    //read the first line
    temp = in.readLine();

    int length = temp.length();

    String encrypted = in.readLine();

    int index = temp.length() - 1;

    //loop until the file has ended
    while(index >= 0)
    {

        encrypted = encrypted + temp.charAt(index);

        index--;

        //read another line
        temp = in.readLine();
    }

    //create the text area.
    //send it (String data, height, width)

    page = new JTextArea(text,30,50);
    //Set line wrap to true, other wise it would just be one looooong line
    page.setLineWrap(true);

    //Here is where we create our scroll pane.
    scrollpane = new JScrollPane(page);


    //the page is connected to the scrollpane, the scrollpane gets connected to the mainPanel
    mainPanel.add(scrollpane);

    //The mainPanel is connected to the contentPane
    contentPane.add(mainPanel);

    //refresh the JFrame!
    validate();

}

私が間違っていたアイデアはありますか?これは、GUIプログラミングを使用した最初の経験です..

4

2 に答える 2

1

java にファイルのパスを与えるとき、二重スラッシュを使用しますか? たとえば、代わりに

D:\Java\EncryptFile.txt

そのはず

D:\\Java\\EncryptFile.txt

バックスラッシュは Java のエスケープ文字であるためです。

于 2013-05-29T19:26:29.723 に答える
1

「fileName」変数を持つ値はどれですか? おそらく、JFileChooser を使用する必要があります。

http://docs.oracle.com/javase/7/docs/api/javax/swing/JFileChooser.html

于 2013-05-29T19:24:17.840 に答える