2012-04-15 15 views
7

ben çok iyi olurduDizini kodlamadan masaüstüne nasıl bir şey kaydedebilirsiniz?

"C:\\Users\\Austin\\Desktop" 

Herhangi yardım yazmadan masaüstüne hello.txt adlı bir metin dosyasına kaydetmek için java nasıl merak ediyorum. şöyle:

FileWriter fileWriter = new FileWriter(fileName.getText(), true); 

..ve fileName.getText() sadece 'merhaba' olacak.

GÜNCELLEME: jfilechooser'ı kullanabileceğimi düşünüyorum, bu işe yarar mı?

JFileChooser chooser = new JFileChooser(); 
chooser.setVisible(true); 

bu işe yarar mı? ve eğer öyleyse, oradaki seçimi kullanarak dosyayı nasıl kaydedebilirim? im bir çaylak .... :(

+1

, o zaman kullanıcı eve tam Masaüstü dizin göreli oluşturmak için Kullanıcı Ana klasör kısayol adı kullanabilir. – tartar

+0

'C: \\ Kullanıcılar \\ NoAustin \\ Desktop' .... İstediğinizi belirtmede daha spesifik olabilir misiniz? Ev dizinini çevreden mi almak istiyorsunuz yoksa başka bir şey mi? – SJuan76

+0

Aradığınız ürünü bu mı? http://stackoverflow.com/questions/1080634/how-to-get-the-desktop-path-in-java – Laky

cevap

7
import java.io.File; 

class FindDesktopOnWindows { 

    public static void main(String[] args) throws Exception { 
     if (System.getProperty("os.name").toLowerCase().indexOf("win")<0) { 
      System.err.println("Sorry, Windows only!"); 
      System.exit(1); 
     } 
     File desktopDir = new File(System.getProperty("user.home"), "Desktop"); 
     System.out.println(desktopDir.getPath() + " " + desktopDir.exists()); 

     java.awt.Desktop.getDesktop().open(desktopDir); 
    } 
} 

Farklı Yerel unuttum. Çok kırılgan kod (hatta kodu OS özgü dışarı başlar). Re altında benim yoruma bakın. OS X/JFileChooser.

..o (System.getProperty("user.home"), "Desktop") eser ..

Oracle yardımsever bu tür şeyleri için dokümanlar sağlar.

Bkz. System.getProperty(String) new File(String,String).


Bu konuda bir uzman (veya kullanıcı) devretmek edeceğiz ama OS X doğrudan ..start ekranında, varsayılan görünüm, ne olursa olsun herhangi bir uygulama simgeleri veya belge simgelerini destekler sanmıyorum. Son kullanıcıya JFileChooser numaralı telefonu user.home işaretini sunmak ve belgeyi masaüstüne kaydetmelerini istemek (ya da nerede hissettirdikleri) konusunda muhtemelen daha iyi.

+0

tamam, '(System.getProperty (" user.home ")," Desktop ")' ın nasıl çalıştığını açıklar mısınız? – PulsePanda

+0

tamam.bu yüzden jfilechooser'ı nasıl yapacağımı bulamıyorum ... ve bu yüzden sadece temel konularda bir örnek verebilir misiniz? sadece bir jframe oluşturmak gibi, ama bunu ortaya çıkar ve bunu kurtarabilsin mi? – PulsePanda

+0

iyi, bunu ücretsiz olarak yapmaya çalışıyorum. Bir okul projesi için – PulsePanda

0

User.home çalışır, ancak yalnızca sabit kod dizini iyi olmalıdır.

3

Bu masaüstü dir sizi işaret: İşletim sistemini biliyorsanız

javax.swing.filechooser.FileSystemView.getFileSystemView().getHomeDirectory() 
+0

Windows'da öyle değil, Linux olsa :(. – Majora320

+1

try: File desktop = new File (System.getProperty ("user.home"), "Desktop"); – mauretto

İlgili konular