7

プロジェクト フォルダーに含まれる特定のファイルにプログラムでアクセスしたいと考えています。これを行う方法はありますか?もしそうなら、プロジェクト フォルダのどこにファイルを置きますか?また、そのファイル パスを取得するための簡単なコードは何ですか?

private void saveFileToDrive() {
        Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    java.io.File spreadsheet = new java.io.File("Untitled spreadsheet.xlsx");
                    String filePath = spreadsheet.getAbsolutePath();
                    System.out.println("file path is"+filePath);

                    URL fileURL = getClass().getClassLoader().getResource("Untitled spreadsheet.xlsx");
                    String filePath2 = fileURL.getPath();
                    System.out.println("file path2 is"+filePath2);

                    java.io.File fileContent = new java.io.File(filePath);
                    FileContent mediaContent = new FileContent("application/vnd.ms-excel", fileContent);

                    File body = new File();
                    body.setTitle(fileContent.getName());
                    body.setMimeType("application/vnd.ms-excel");


                    File file = service.files().insert(body, mediaContent).setConvert(true).execute();

                    if (file != null) {
                        showToast("File uploaded: " + file.getTitle());
                    }
                    else
                             ;
                } catch (UserRecoverableAuthIOException e) {

                    startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION);
                } catch (IOException e) {

                    e.printStackTrace();
                }
            }
        });
        t.start();
    }
4

3 に答える 3

5

ファイルをプロジェクトのルート フォルダーに配置します。次に、ファイル URL、パス、およびその他の詳細を次のように取得します。

   File file = new File("test.txt");
   String filePath = file.getAbsolutePath();

EDIT: 別の方法(ファイルがクラスパスにある場合、たとえばファイルを「src」フォルダーに置き、コンパイル後に「bin」または「classes」フォルダーに移動したことを確認してください):

  URL fileURL = getClass().getClassLoader().getResource(fileName);
  String fileName = fileURL.getFile();
  String filePath = fileURL.getPath();
于 2012-11-29T00:32:48.770 に答える