ファイルを作成していますが、空のファイルが作成されているというこの問題があります。OutputStreamからファイルを作成する
私はDropboxのAPIを使用していますが、Dropboxのコードは正常に動作しますが、うまくいかないことはわかりません。私は2度と3度のコードを私のアプリに使っていますが、これはうまく動作しています。
これは階層的に動作します。私はfuctionのためにoutputStreamを送信しています。しかしこれは空です。
出力ストリームで動作する必要があるので、私はoutputStreamを使用しています。
1ºコード(クラステスト||コール):
File tempFile=new File("C:\\PRUEBAS_TFG\\cloud.png"); if (! tempFile.exists()) { tempFile.createNewFile(); }
File file = new File("C:\\PRUEBAS_TFG\\cloud.png");
OutputStream outputStream = new FileOutputStream(file);
catmanager.downloadFilesToItem(catmanager.getAllListCatalog().get(0), catmanager.getAllListCatalog().get(0).getItems().get(2), listFile, outputStream);
outputStream.close();
2ºコード(クラスcatmanager ||1ºbody):
public void downloadFilesToItem(Catalog catalog, Item item, List<String> files, OutputStream output){
try{
String fsPath;
fsPath = pathCatalog(catalog);
getFSManager().changeDirectoryConfigNPath(fsPath+"/"+item.getName()+"_item");
for(int i = 0;i<files.size();i++){
getFSManager().downloadFile(files.get(i), output);
}
}catch(Exception e){
e.printStackTrace();
}
}
3ºCode(クラスFSManager ||2ºbody)
public void downloadFile(String fileName, OutputStream output) throws IOException{//Aqui deveria Buscar el Fichero Funciona por que da la casualidad que esta el fichero en la primera nube
/** Cogemos la lista de FS del usuario */
List<IFileSystem> aux = getFileSystemsUser();
for(int i = 0; i < aux.size();i++){
/** Se realiza la Funcionalidad del metodo*/
System.out.println(aux.get(i).toString());
try{
aux.get(i).downloadFile(_listPath.get(i)+"/"+fileName, output);
i = aux.size()+1;
}catch(IOException e) {
}
}
}
4ºCode(Class aux Dropbox || API Dropbox):
public void downloadFile(String fileName, OutputStream aux) throws IOException{
try{
getDbxClient().getFile(fileName, null, aux);
}catch(IOException e){
throw e;
}catch(DbxException u){
throw new IOException(u.getCause());
}
}
ありがとうございます。
最小限の(より適切な形式の)例を提供してください。私たちは助けてくれるでしょう。 :-) –
アドバイスありがとう、私は投稿を修正しました –