Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java从Dropbox下载.txt文件_Java_File_Download_Dropbox - Fatal编程技术网

使用Java从Dropbox下载.txt文件

使用Java从Dropbox下载.txt文件,java,file,download,dropbox,Java,File,Download,Dropbox,您好,我在我的最后一年,做一个项目与Java(桌面应用程序)。我正在编写一个java桌面应用程序类,将.txt文件下载到我的计算机桌面上。 从Dropbox帐户中的共享文件夹下载文件时遇到问题。我已经完成了OAuth进程并获得了令牌密钥和密码,但是当我使用Dropbox提供的代码时,我收到一条消息,说“导入com.Dropbox无法解析” 我使用的是EclipseIDE,Dropbox上说我必须安装JavaSDK,我已经下载了这个包,但不知道如何安装它 如果有人能帮我解决导入问题或建议一种更简

您好,我在我的最后一年,做一个项目与Java(桌面应用程序)。我正在编写一个java桌面应用程序类,将.txt文件下载到我的计算机桌面上。 从Dropbox帐户中的共享文件夹下载文件时遇到问题。我已经完成了OAuth进程并获得了令牌密钥和密码,但是当我使用Dropbox提供的代码时,我收到一条消息,说“导入com.Dropbox无法解析”

我使用的是EclipseIDE,Dropbox上说我必须安装JavaSDK,我已经下载了这个包,但不知道如何安装它

如果有人能帮我解决导入问题或建议一种更简单的方法将文件从Dropbox下载到计算机上,我将不胜感激

谢谢

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Locale;

import com.dropbox.core.DbxAccountInfo;
import com.dropbox.core.DbxAppInfo;
import com.dropbox.core.DbxAuthFinish;
import com.dropbox.core.DbxClient;
import com.dropbox.core.DbxEntry;
import com.dropbox.core.DbxException;
import com.dropbox.core.DbxRequestConfig;
import com.dropbox.core.DbxWebAuthNoRedirect;
import com.dropbox.core.DbxWriteMode;

public class Dropbox {

    private static final String DROP_BOX_APP_KEY = "<redacted>";
    private static final String DROP_BOX_APP_SECRET = "<redacted>";
    DbxClient dbxClient;

    public DbxClient authDropbox(String dropBoxAppKey, String dropBoxAppSecret)
            throws IOException, DbxException {
        DbxAppInfo dbxAppInfo = new DbxAppInfo(dropBoxAppKey, dropBoxAppSecret);
        DbxRequestConfig dbxRequestConfig = new DbxRequestConfig(
                "JavaDropboxTutorial/1.0", Locale.getDefault().toString());
        DbxWebAuthNoRedirect dbxWebAuthNoRedirect = new DbxWebAuthNoRedirect(
                dbxRequestConfig, dbxAppInfo);
        String authorizeUrl = dbxWebAuthNoRedirect.start();
        System.out.println("1. Authorize: Go to URL and click Allow : "
                + authorizeUrl);
        System.out
                .println("2. Auth Code: Copy authorization code and input here ");
        String dropboxAuthCode = new BufferedReader(new InputStreamReader(
                System.in)).readLine().trim();
        DbxAuthFinish authFinish = dbxWebAuthNoRedirect.finish(dropboxAuthCode);
        String authAccessToken = authFinish.accessToken;
        dbxClient = new DbxClient(dbxRequestConfig, authAccessToken);
        System.out.println("Dropbox Account Name: "
                + dbxClient.getAccountInfo().displayName);

        return dbxClient;
    }

    /* returns Dropbox size in GB */
    public long getDropboxSize() throws DbxException {
        long dropboxSize = 0;
        DbxAccountInfo dbxAccountInfo = dbxClient.getAccountInfo();
        // in GB :)
        dropboxSize = dbxAccountInfo.quota.total / 1024 / 1024 / 1024;
        return dropboxSize;
    }

    public void uploadToDropbox(String fileName) throws DbxException,
            IOException {
        File inputFile = new File(fileName);
        FileInputStream fis = new FileInputStream(inputFile);
        try {
            DbxEntry.File uploadedFile = dbxClient.uploadFile("/" + fileName,
                    DbxWriteMode.add(), inputFile.length(), fis);
            String sharedUrl = dbxClient.createShareableUrl("/" + fileName);
            System.out.println("Uploaded: " + uploadedFile.toString() + " URL "
                    + sharedUrl);
        } finally {
            fis.close();
        }
    }

    public void createFolder(String folderName) throws DbxException {
        dbxClient.createFolder("/" + folderName);
    }

    public void listDropboxFolders(String folderPath) throws DbxException {
        DbxEntry.WithChildren listing = dbxClient
                .getMetadataWithChildren(folderPath);
        System.out.println("Files List:");
        for (DbxEntry child : listing.children) {
            System.out.println("    " + child.name + ": " + child.toString());
        }
    }

    public void downloadFromDropbox(String fileName) throws DbxException,
            IOException {
        FileOutputStream outputStream = new FileOutputStream(fileName);
        try {
            DbxEntry.File downloadedFile = dbxClient.getFile("/" + fileName,
                    null, outputStream);
            System.out.println("Metadata: " + downloadedFile.toString());
        } finally {
            outputStream.close();
        }
    }

    public static void main(String[] args) throws IOException, DbxException {
        JavaDropbox javaDropbox = new JavaDropbox();
        javaDropbox.authDropbox(DROP_BOX_APP_KEY, DROP_BOX_APP_SECRET);
        System.out.println("Dropbox Size: " + javaDropbox.getDropboxSize()
                + " GB");
        javaDropbox.uploadToDropbox("happy.png");
        javaDropbox.createFolder("tutorial");
        javaDropbox.listDropboxFolders("/");
        javaDropbox.downloadFromDropbox("happy.png");

    }

}
导入java.io.BufferedReader;
导入java.io.File;
导入java.io.FileInputStream;
导入java.io.FileOutputStream;
导入java.io.IOException;
导入java.io.InputStreamReader;
导入java.util.Locale;
导入com.dropbox.core.DbxAccountInfo;
导入com.dropbox.core.DbxAppInfo;
导入com.dropbox.core.dbxauthfish;
导入com.dropbox.core.DbxClient;
导入com.dropbox.core.DbxEntry;
导入com.dropbox.core.DbxException;
导入com.dropbox.core.DbxRequestConfig;
导入com.dropbox.core.DbxWebAuthNoRedirect;
导入com.dropbox.core.DbxWriteMode;
公共类投递箱{
私有静态最终字符串下拉_框_应用_键=”;
私有静态最终字符串拖放_框_应用程序_SECRET=“”;
DbxClient DbxClient;
public DbxClient authDropbox(字符串dropBoxAppKey、字符串dropBoxAppSecret)
抛出IOException,dbxeException{
DbxAppInfo DbxAppInfo=新的DbxAppInfo(dropBoxAppKey,dropBoxAppSecret);
DbxRequestConfig DbxRequestConfig=新的DbxRequestConfig(
“JavaDropboxTutorial/1.0”,Locale.getDefault().toString());
DbxWebAuthNoRedirect DbxWebAuthNoRedirect=新DbxWebAuthNoRedirect(
dbxRequestConfig、dbxAppInfo);
字符串authorizeUrl=dbxWebAuthNoRedirect.start();
System.out.println(“1.授权:转到URL并单击允许:”
+(网址);
系统输出
.println(“2.授权码:复制授权码并在此处输入”);
String dropboxAuthCode=新的BufferedReader(新的InputStreamReader(
System.in().readLine().trim();
dbxauthfish authfish=dbxWebAuthNoRedirect.finish(dropboxAuthCode);
字符串authAccessToken=authFinish.accessToken;
dbxClient=newdbxclient(dbxRequestConfig,authAccessToken);
System.out.println(“Dropbox帐户名:”
+dbxClient.getAccountInfo().displayName);
返回dbxClient;
}
/*返回Dropbox大小(GB)*/
public long getDropboxSize()抛出dbxexException{
长dropboxSize=0;
DbxAccountInfo DbxAccountInfo=dbxClient.getAccountInfo();
//以GB为单位:)
dropboxSize=dbxAccountInfo.quota.total/1024/1024;
返回dropboxSize;
}
public void uploadToDropbox(字符串文件名)抛出DbxException,
IOException{
文件输入文件=新文件(文件名);
FileInputStream fis=新的FileInputStream(inputFile);
试一试{
DbxEntry.File uploadedFile=dbxClient.uploadFile(“/”+文件名,
DbxWriteMode.add(),inputFile.length(),fis);
字符串sharedUrl=dbxClient.createShareableUrl(“/”+文件名);
System.out.println(“上载:“+uploadedFile.toString()+”URL”
+sharedUrl);
}最后{
fis.close();
}
}
public void createFolder(字符串folderName)引发DbxException{
dbxClient.createFolder(“/”+folderName);
}
public void listDropboxFolders(字符串folderPath)引发dbxexException{
DbxEntry.withchildrensing=dbxClient
.getMetadataWithChildren(folderPath);
System.out.println(“文件列表:”);
for(DbxEntry-child:listing.children){
System.out.println(“+child.name+”:“+child.toString());
}
}
public void downloadFromDropbox(字符串文件名)引发DbxException,
IOException{
FileOutputStream outputStream=新的FileOutputStream(文件名);
试一试{
DbxEntry.File downloaddedfile=dbxClient.getFile(“/”+文件名,
null,outputStream);
System.out.println(“元数据:“+downloadedFile.toString());
}最后{
outputStream.close();
}
}
publicstaticvoidmain(字符串[]args)抛出IOException、dbxeexception{
JavaDropbox JavaDropbox=新的JavaDropbox();
authDropbox(DROP\u-BOX\u-APP\u密钥、DROP\u-BOX\u-APP\u密钥);
System.out.println(“Dropbox大小:+javaDropbox.getDropboxSize()
+“GB”);
uploadToDropbox(“happy.png”);
createFolder(“教程”);
listDropboxFolders(“/”);
javaDropbox.downloadFromDropbox(“happy.png”);
}
}

您需要导入正确的类。通常IDE会提供添加导入的建议,但如果不能,则可能会丢失jar文件。不过。你应该改用。我们推荐。您需要导入正确的类。通常IDE会提供添加导入的建议,但如果不能,则可能会丢失jar文件。不过。你应该改用。我们推荐。