blob: ba5653a04b51a5bd4c27d8f1f9e4fb991b379ec3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
/*******************************************************************************
* Copyright (c) 2004 - 2006 Mylar committers and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
package org.eclipse.mylyn.internal.tasks.ui.actions;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.eclipse.jface.action.Action;
/**
* An <code>Action</code> which saves the given file contents to the given
* file location on disk.
*
* @author Jeff Pound
*/
public class SaveRemoteFileAction extends Action {
public static final String TITLE = "Save...";
private String destinationFilePath;
private InputStream inStream;
public SaveRemoteFileAction() {
super(TITLE);
}
@Override
public void run() {
if (destinationFilePath == null || inStream == null) {
return;
}
File outFile = new File(destinationFilePath);
try {
/* TODO jpound - Use FileWriter iff text? */
FileOutputStream writer = new FileOutputStream(outFile);
BufferedInputStream reader = new BufferedInputStream(inStream);
int c;
while ((c = reader.read()) != -1) {
writer.write(c);
}
writer.close();
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void setDestinationFilePath(String destinationFilePath) {
this.destinationFilePath = destinationFilePath;
}
public void setInputStream(InputStream inStream) {
this.inStream = inStream;
}
}
|