忍者ブログ
  • 2024.10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 2024.12
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/11/22 19:30 】 |
Swing ファイルチューザ
ファイルチューザの使い方。

これのこと。
filechooser


Swingのコンポーネントとして使える。AWTにはない。


import javax.swing.*;

public class MyClass extends JApplet{
JFileChooser fileChooser;

public void myFileChooser(){

//初期化
fileChooser = new JFileChooser(); //引数無しの場合、ユーザのデフォルトディレクトリで開く(自分の名前のフォルダ)
//指定する場合、String型でディレクトリ名を指定


/////////////////////////
// ファイルを開く場合

//ダイアログ開く
int result = fileChooser.showOpenDialog( null ); //引数は親コンポーネント

//ファイルを選択してファイルチューザを終了した場合
if (result==JFileChooser.APPROVE_OPTION) {
String filepath = fileChooser.getSelectedFile().getPath();
String filename = fileChooser.getSelectedFile().getName();

byte[] fileContent = new byte[BUFFER_LENGTH];
FileInputStream fis = new FileInputStream(filepath);
int nByte = fis.read(fileContent, 0, BUFFER_LENGTH); //読み込んだバイト数が返る
}
//ファイルを選択せずキャンセルした場合
else if (result == JFileChooser.CANCEL_OPTION){
}
//エラーの場合(どんなときエラーになるんだろ)
else if (result == JFileChooser.ERROR_OPTION){
}


////////////////////////////
// ファイルを保存する場合
fileChooser.setSelectedFile(new File("default_savefilename.ext")); //ファイル名を指定して、ファイルチューザを開く

//ダイアログ開く
int ret = fileChooser.showSaveDialog(null);

//[保存する]ボタンを押した場合
if (ret == JFileChooser.APPROVE_OPTION){
String filepath = fileChooser.getSelectedFile().getPath();
String filename = fileChooser.getSelectedFile().getName();

FileOutputStream fos = new FileOutputStream(filepath);
fos.write(content); //contentがファイルの中身。byte[]
}
//ファイルを選択せずキャンセルした場合
else if (result == JFileChooser.CANCEL_OPTION){
}
//エラーの場合(どんなときエラーになるんだろ)
else if (result == JFileChooser.ERROR_OPTION){
}
}
};



ファイルチューザ自体は、ファイル名を選択するだけのモノ。
読み込みや書き込みは、別途行う必要がある。

選択したファイル情報は、getSelectedFile()で取得できる(File型)
ファイル名は、getSelectedFile().getName()
フルパスは、getSelectedFile().getPath()

読み込みの時は、
showOpenDialog()を呼び、getSelectedFile()した名前のファイルを読み込めば良い。

保存の時は、
まず保存するファイル名をsetSelectedFile()で指定し、(ファイルチューザを開いたときに、はじめから入力されているファイル名を指定しておく)
showSaveDialog()を呼ぶ。
で、getSelectedFile()したファイル名で保存する。(ユーザがファイル名をチューザ内で変えてるかもしれないからね)


参考
Sun
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/JFileChooser.html
JavaDrive
http://www.javadrive.jp/tutorial/jfilechooser/index3.html
PR
【2011/04/20 03:02 】 | Java | 有り難いご意見(0) | トラックバック()
<<arraycopy | ホーム | ファイル名の長さ上限>>
有り難いご意見
貴重なご意見の投稿














虎カムバック
トラックバックURL

<<前ページ | ホーム | 次ページ>>