2013-11-22 139 views
0

我的客戶端類從服務器接收文件並希望將其保存在特定目錄中。這裏是我的代碼如何將文件保存在java中的特定目錄中?

Object object=sInput.readObject(); 
    if(object instanceof fileDetail){ 
     fileDetail obj1= (fileDetail)object; 
     String str= "A "+obj1.fileExtension+" Received From "+obj1.source; 
     JOptionPane.showMessageDialog(null,str,"Success", WIDTH, null); 
    } 

fileDetail的是,我使用的管理從Server.Here收到packate一個序列化對象的類fileDetail

import java.io.File; 
import java.io.Serializable; 


public class fileDetail implements Serializable{ 
    public File file; 
    public String fileExtension; 
    public String source; 
    public String destination; 

} 

服務器由JFileChooser和任何種類的選擇文件的文件可能被選中。所選文件保存在fileDetail類對象中,並將該對象發送給客戶端。現在,我從客戶端代碼中的obj1.file接收到文件;我想將其保存到特定的目錄。如何做到這一點?我在Java中有點小氣。

+0

如果您正在使用Java 1.7:您想使用文件:http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html如果您不使用Java 1.7你想使用apache-commons-io(http://commons.apache.org/proper/commons-io/)或google guava(https://code.google.com/p/guava-libraries/)。你也可以手動完成。 – zip

+0

感謝您的幫助。我該怎麼做手動?可以請稍微詳細一點? – Burro

回答

0

請求用戶輸入文件路徑。選擇路徑並簡單地使用它來打印其中的對象數據。如果路徑是絕對路徑,則使用它,否則將在當前目錄中創建文件。您可以在提示用戶輸入文件路徑時提供此信息。

+0

「簡單地用它來打印它中的對象數據」 你可以請詳細地告訴我該怎麼做? – Burro

+0

重寫fileDetail類中的toString()方法。然後你可以簡單地做'BufferedWriter writer = new BufferedWriter(new FileWriter(new File(「Path To File」))); writer.write(writer.toString());' –

相關問題