0

こんにちは、Java を使用した Selenium 自動化テストに Maven を使用しています。Excelシートを使用して、登録フォームに記入するためのデータを読み取っています。現在は通常の Maven アーキタイプです。

src
--main
  --java
    --mypackage for coding goes here.
  --resources
    --data
      -- the excel sheet
--test
  -- some stuff here under java

現在、ファイルを読みたい場合は、src/main/resources/data/theexcelsheet.xlsx を書いていますが、この jar を共有すると、これが壊れると思います。この jar をパッケージ化すると壊れたくありません。

プラットフォームまたはフォーマットに依存しないようにするにはどうすればよいですか。

ファイルの読み取り方法を考えている場合は、APACHE POI Api を使用しています。

MANIFESTファイルを使用してこれを行うことができるかもしれないという考えを読んだ人がいますが、よくわかりません。誰か助けてもらえますか?

4

1 に答える 1

3

getResource() を使用してファイルを指す場合、パスの構文は常に/コンポーネントを分離するために使用される\ため、心配する必要はありません。

一般に、jar の外部では、たとえばアプリケーション設定をフォルダーに保存する場合は、OS 固有のセパレーターを使用する必要があります。次の方法で取得できます。

System.out.println("my" + File.separator + "dir");

my\dirWin およびmy/dirLinuxでのリターン

もちろん、「c:」ドライブのようなハードコードされたパスを使用できないため、それだけでは十分ではありませんが、System クラスのプロパティを読み取る最も一般的なパスを取得できます。

System.out.println(System.getProperty("user.home"));

C:\Users\pieroWindows7 と/home/pieroLinuxで戻ります

于 2012-11-09T22:05:44.033 に答える