4

大きなテキスト ファイルをデータベースにインポートする必要があります。そのテキスト ファイルの構造は、いくつかのセパレータとすべてを使用して事前に定義されています。指定されたファイルがテキストファイルであるかどうかを確認するだけです(拡張子に関係なく)。

Javaを使用してどのように可能ですか?

4

2 に答える 2

13
  • スタンドアロンの Java アプリケーションで

    • Java 1.6 以下 ( java.io.File)

      File file = new File("/myFolder/myFile");
      InputStream is = new BufferedInputStream(new FileInputStream(file));
      String mimeType = URLConnection.guessContentTypeFromStream(is);
      
    • Java 1.7 以降 ( java.nio.file.Path- インストール済みFileTypeDetectorで呼び出されるjava.nio.file.Files.probeContentType()

      Path path = FileSystems.getDefault().getPath("myFolder", "myFile");
      String mimeType = Files.probeContentType(path);
      
  • フレームワークに依存しない Web アプリケーションで

    • この回答で説明されているように、JMimeMagicApache Tikaなどのサードパーティ ライブラリを使用します。

      InputStream is = uploadedFile.getInputStream();
      String mimeType = Magic.getMagicMatch(is, false).getMimeType();
      
  • Struts2 Web アプリケーション内

    • Struts2 経由FileUploadInterceptor.setAllowedTypes()

      <!-- 
          Configured either 
              - globally to a package or 
              - locally to an Action
          in Struts.xml
      -->
      <interceptor-ref name="fileUpload">
          <param name="allowedTypes">image/png,image/gif,image/jpeg</param>
      </interceptor-ref>
      

    FileUploadInterceptorおよびFileUploadに関するその他のドキュメント

  • Web アプリケーションのクライアント側

    • withHTML5accept属性(この回答<input type="file" />で説明されているように)

      <input type="file" accept="image/*,video/*">
      





ファイル拡張子に基づくすべてのソリューション (信頼性が十分ではないことが多い) と、いくつかの代替のサードパーティ ライブラリと古いソリューションを除外しました。

私が忘れているかもしれないことを遠慮なく指摘してください。喜んでここに含めます。

于 2013-06-19T15:02:28.367 に答える