質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

5723閲覧

Javaプログラムからファイルのリンク先を取得

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2015/12/06 00:22

編集2015/12/07 00:38

###前提・実現したいこと
JavaのJTableの上までショートカットファイル(.lnk)をドラッグし、すると、ファイル名と、ショートカットファイルのリンク先を取得するプログラムを作成したいです。

FileDialogを使用すると、ショートカットファイル(.lnk)のリンク先をしてくれるのですが、

使用しない場合は、ショートカットファイルファイルのパスを取得されます。

###追加情報
ソースコードに書かれている「FileDialog」のように、取得されたショートカットファイルのリンク先を取得したいのですが....

###ソースコード

Java

1 2class WindowTest extends Frame implements WindowListener{ 3 4 private String filePath; 5 private String fileName; 6 7 //コンストラクタ 8 WindowTest(){ 9 //FileDialogによるファイルの取得 10 FileDialog fileDialog=new FileDialog(this);//FileDialogの作成 11 fileDialog.setVisible(true);//表示する 12 String dir=fileDialog.getDirectory();//ディレクトリーの取得 13 14 JFileChooser filechooser = new JFileChooser(); 15 filechooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); 16 17 fileName=fileDialog.getFile();//ファイルの名前を取得 18 filePath=fileDialog.getDirectory();//ファイルのパスを取得 19 20 if (fileName==null) System.exit(0);//ファイル名の設定が無ければ処理中止 21 22 //Windowを設定し表示 23 setSize(240,240);//サイズを指定する 24 setLayout(new GridLayout(20,1));//1列×20行のレイアウトを設定 25 addWindowListener(this);//WindowListenerを設定 26 setVisible(false);//可視化する 27 28 } 29 30 public String[] release(){ 31 String data[] = new String [2]; 32 33 //data[0] ファイルパス 34 data[0] = filePath + fileName; 35 //data[1] ファイル名 36 data[1] = fileName; 37 return data; 38 } 39 40 41 //アクティブになった特の処理 42 public void windowActivated(java.awt.event.WindowEvent e) { 43 System.out.println("Activated"); 44 System.out.println(filePath + fileName); 45 46 } 47 48 //閉じられた時の処理 49 public void windowClosed(java.awt.event.WindowEvent e) { 50 System.out.println("Closed"); 51 52 } 53 54 //閉じられている時の処理 55 public void windowClosing(java.awt.event.WindowEvent e) { 56 System.out.println("Closing"); 57 System.exit(0); 58 } 59 60 //アクティブでなくなったときの処理 61 public void windowDeactivated(java.awt.event.WindowEvent e) { 62 System.out.println("Deactivaed"); 63 64 } 65 66 //アイコンから戻ったときの処理 67 public void windowDeiconified(java.awt.event.WindowEvent e) { 68 System.out.println("Deicnified"); 69 70 } 71 72 //アイコン化された時の処理 73 public void windowIconified(java.awt.event.WindowEvent e) { 74 System.out.println("Icnified"); 75 76 } 77 78 // 開かれた時の処理 79 public void windowOpened(java.awt.event.WindowEvent e) { 80 System.out.println("Opend"); 81 //setVisible(false); 82 //System.exit(0); 83 84 } 85 86 }

###補足情報(言語/FW/ツール等のバージョンなど)

Eclipse Luna Service Release 2 (4.4.2)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

たぶん標準機能ではできません。

どこかから、lnkファイルを解析するライブラリーを探してきてそれを使うのが早いでしょう。
検索キーワードは、"java parse windows shortcut"辺りで。日本語検索では見つかりにくいかも知れません。

例えば、下記。
※利用は自己責任でお願いします。

WindowsShortcuts/WindowsShortcut.java at master · codebling/WindowsShortcuts (GitHub)
https://github.com/codebling/WindowsShortcuts/blob/master/org/stackoverflowusers/file/WindowsShortcut.java

↑の使用例。

lang

1// import省略 2 3File lnk = new File("D:/xxx.lnk"); 4try { 5 WindowsShortcut ws = new WindowsShortcut(lnk); 6 String realFilename = ws.getRealFilename(); // リンク先のファイルパス文字列 7 System.out.println(realFilename); 8} catch (ParseException e) { 9 e.printStackTrace(); 10} catch (IOException e) { 11 e.printStackTrace(); 12}

投稿2015/12/07 04:41

argius

総合スコア9390

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問