teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

内容の修正

2019/12/26 05:32

投稿

takutomi
takutomi

スコア7

title CHANGED
@@ -1,1 +1,1 @@
1
- jarファイルのでのリソースの扱い(mp3ファイル,xlsxファイル)
1
+ java:エクセルファイルのスの取得方法
body CHANGED
@@ -1,27 +1,16 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- javafxにてアプリを作成しています
3
+ javafxにてアプリを作成しています
4
- 実行可能jarファイにしたときのリソースファイルのパスの取得で手こずっています
4
+ エクセルファイルのパスの取得方法を絶対パスから変更したいのすがうまくいかっています
5
- 取得したいファイルの拡張子はmp3とxlsxです
6
5
 
7
- http://www.mltlab.com/wp/archives/546 
8
- (jarにする時の注意:リソースはURL指定)
9
-
10
- こちらのサイトなどを参考にしたのですがうまくいかず困っています。
11
-
12
6
  ### 発生している問題・エラーメッセージ
13
7
 
14
- mp3ファイル
15
- eclipse上:うまく再生された
16
- 実行可能jar:エラー java.lang.UnsupportedOperationException: Unsupported protocol "rsrc"
17
8
 
18
- xlxsファイル
19
- eclipse上:そもそもURL(コメントアウトしているほうだと下記エラーが出るためダウンロードフォルダにあるほうのファイルを絶対パスで指定
9
+ コメントアウトしているほうだと下記エラーが出ます
20
10
  「java.io.FileNotFoundException: file:\C:\pleiades\workspace\test\bin\res\book.xlsx (ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。)」
21
- 実行可能jar:一応URLは取得できている??
11
+ パスの取得自体はうまくできているのですが,そのパスを使用するとエラーがでます
22
12
 
23
- 説明が下手で申し訳ありませんが下記にコードと実行結果載せておきま
13
+ ダウンロードフォルダにあるほうのファイル絶対パスで指定るとエラーはでないのですが
24
- よろしくお願いします。
25
14
 
26
15
  ### 該当のソースコード
27
16
 
@@ -36,11 +25,8 @@
36
25
  import org.apache.poi.xssf.usermodel.XSSFWorkbook;
37
26
 
38
27
  import javafx.application.Application;
39
- import javafx.geometry.Insets;
40
28
  import javafx.scene.Scene;
41
- import javafx.scene.control.Label;
42
29
  import javafx.scene.layout.BorderPane;
43
- import javafx.scene.media.Media;
44
30
  import javafx.scene.media.MediaPlayer;
45
31
  import javafx.stage.Stage;
46
32
 
@@ -54,48 +40,31 @@
54
40
  public void start(Stage primaryStage) {
55
41
 
56
42
  BorderPane root = new BorderPane();
57
- root.setPadding(new Insets(10, 5, 10, 5));
58
43
  Scene scene = new Scene(root,850,100);
59
44
 
60
- //サウンド
61
- try {
62
- URL url = this.getClass().getClassLoader().getResource("res/sample.mp3");
63
-
64
- Label label = new Label("mp3 → " + url.toString());
65
- root.setTop(label);
66
-
67
- Media music = new Media(url.toString());
68
- musicPlay = new MediaPlayer(music);
69
- musicPlay.play();
70
-
71
- }catch(Exception e) {
72
- Label label = new Label("mp3 エラー " + e.toString());
73
- root.setTop(label);
74
- }
75
-
76
- //エクセル
77
45
  XSSFSheet sheetMain;
78
46
  XSSFWorkbook workbook;
79
47
 
48
+
80
49
  try {
50
+
81
51
  XSSFRow row = null;
52
+
82
53
  URL url = getClass().getClassLoader().getResource("res/book.xlsx");
54
+ System.out.println(url.toString());
83
55
 
56
+
84
- Label label = new Label("xlsx → " + url.toString());
57
+ //こっちだとエラー workbook = new XSSFWorkbook(new FileInputStream(url.toString()));
85
- root.setBottom(label);
86
58
 
87
- workbook = new XSSFWorkbook(new FileInputStream("E:/ダウンロード/book.xlsx"));
59
+ URL url = getClass().getClassLoader().getResource("res/book.xlsx");
88
- //こっちだとエラー workbook = new XSSFWorkbook(new FileInputStream(url.toString()));
89
60
 
61
+ }catch (Exception e) {
62
+ e.printStackTrace();
63
+ System.out.println("処理が失敗しました");
90
- }
64
+ }
91
- catch (Exception e) {
92
65
 
93
- Label label = new Label("xlsx エラー " + e.toString());
94
- root.setBottom(label);
95
66
 
96
- }
97
67
 
98
-
99
68
  primaryStage.setScene(scene);
100
69
  primaryStage.show();
101
70
 
@@ -106,7 +75,6 @@
106
75
  }
107
76
 
108
77
  }
109
-
110
78
  ```
111
79
 
112
80
  ### 画像
@@ -114,12 +82,6 @@
114
82
  ![イメージ説明](0a194b02b3df6f6148033c4a94ed5127.jpeg)
115
83
  プロジェクトの構成
116
84
 
117
- ![イメージ説明](0cf692c5b2ed16279d1764e24d544848.png)
118
- eclipseでの上記コード実行結果
119
-
120
- ![イメージ説明](77cab72567a0f961bf740889bb60d92b.png)
121
- 実行可能jarにした結果
122
-
123
85
  ### 補足情報(FW/ツールのバージョンなど)
124
86
 
125
87
  環境

1

誤字

2019/12/26 05:32

投稿

takutomi
takutomi

スコア7

title CHANGED
File without changes
body CHANGED
@@ -11,7 +11,6 @@
11
11
 
12
12
  ### 発生している問題・エラーメッセージ
13
13
 
14
- ```
15
14
  mp3ファイル
16
15
  eclipse上:うまく再生された
17
16
  実行可能jar:エラー java.lang.UnsupportedOperationException: Unsupported protocol "rsrc"
@@ -23,7 +22,6 @@
23
22
 
24
23
  説明が下手で申し訳ありませんが下記にコードと実行結果を載せておきます。
25
24
  よろしくお願いします。
26
- ```
27
25
 
28
26
  ### 該当のソースコード
29
27