2010-04-20 25 views
81

Hızlı soru. Java dizeleri uygulanan @ eşdeğer var mı:C# 'lerin <a1> Java</ a1> sözdizimi dizeleri @

Mesela ben C# @"c:\afolder\afile" yapabilirsiniz ve "c:\\afolder\\aFile" yapmak zorunda yerine işlerken çıkış karakterleri görmezden gelmiş. Java karşılığı var mı?

hmmm: stackoverflow bana kaçıyor .. lol. İkinci örnek şöyle olmalıdır:

c: (çift eğik çizgi) afolder (çift eğik çizgi) AFile

+2

Olası kopyası: http://stackoverflow.com/questions/2018556/does-java-have-the-character-to-escape-string-quotes/2018583#2018583 – codaddict

+2

Başından beri açıklığa kavuşturarak özgürlüğü kullandım @ 'dil anahtar kelimelerini de tanımlayıcı olarak kullanmak için kullanılabilir. – Joey

+0

@unicornaddict - gerçekten de aynı soru. Özürler, arama yaparken görmediler. @ Johannes - iyi hareket .. teşekkürler –

cevap

63

No. Dize kaçmak/dışlamak tek seçenek.

+0

@ "string" ve $ "string {i}" ile C# 6'yı seviyorum ve java –

13

Kent ve Jon'un dediği gibi, hayır yok.

Sadece, durumunuz için bile olsa, bir kereden fazla bir program kabul ederek, genel durumda kötü bir fikir olacağını belirtmek için cevap veriyorum.

Java programları, yalnızca Windows'dan daha fazla platformda çalışır ve diğer platformlarda farklı dosya sınırlayıcıları vardır. Bunun yerine kaçan ters eğik uğraşmak, belirli bir örnek işlemek için doğru yolu dosya ayırıcı özelliğini getirerek geçerli:

bazı politikasına dayalı ayrı rootdir oluşturmuş olurdu

    String sep = System.getProperty("file.separator"); 
    String filename = ROOTDIR + sep + "folder" + sep + "afile"; 

- sadece platformu ama "afile" inizin gerçek dosya sistemi köküne veya kullanıcının giriş dizinine göre olmasını isteyip istemediğinizi.

Ancak, kesinlikle dosya ayırıcı özelliğini kullanarak programlarınızı daha yaygın kullanılabilir hale getirir. Daha fazla iş var mı? Evet. Wanda Sykes'in dediği gibi, "Ama buna değer".

+1

Hiya'dan çok daha fazlasını bekliyoruz. Benim durumumdaki bir 'dosya adı' gerçeği alakasız. Tüm kodlarımın yaptığı bir ipi (veya denemek) alıp iletmektir. Aslında bir web servisine geçmek dışında bir şey yapmıyorum. Java'dan çağrılan bir C# WCF hizmetinden gelen cevabı test ediyordum. Bir testi kodlamak zor olduğu için, bu noktada bu sınırlamayı keşfettim. Ben aslında dizeyle "dosya tabanlı" bir şey yapmıyorum. –