2010-04-20 5 views
81

빠른 질문. Java에서 문자열에 적용되는 것과 같은 @이 있습니까?Java의 C#의 동등한 문자열에 해당하는 @

예를 들어 @"c:\afolder\afile"을 C#으로 처리하고 "c:\\afolder\\aFile"을 처리하는 대신 처리 할 때 이스케이프 문자를 무시해야합니다. Java와 동일한 기능이 있습니까?

hmmm : stackoverflow가 나를 도망 가고 있습니다. LOL. 두 번째 예 읽어야

C (더블 슬래시) afolder (더블 슬래시) aFile 변수

+2

가능한 복제본 : http://stackoverflow.com/questions/2018556/does-java-have-the-character-to-escape-string-quotes/2018583#2018583 – codaddict

+2

제목을 명확히하는 자유가 주어졌습니다. @'는 식별자로 언어 키워드를 사용하는 데에도 사용할 수 있습니다. – Joey

+0

@unicornaddict - 실제로 그 같은 질문입니다. 사과 할 때 검색 할 때 보지 못했습니다. @ Johannes - 좋은 움직임 .. 감사합니다. –

답변

63

No. 이스케이프/외부화는 유일한 선택입니다.

+0

나는 C# 6을 @ "string"과 $ "string {i}"로, 매우 미래를 자바보다 더 좋아한다. –

13

켄트와 존이 말했듯이, 그렇지 않습니다.

나는 특별한 경우에 대해 일회성 프로그램 이상을 가정 할 경우 일반적으로 나쁜 생각 일 것이라고 지적하고 있습니다.

Java 프로그램은 Windows 이외의 다른 플랫폼에서 실행되며 다른 플랫폼은 다른 파일 구분 기호를 사용합니다. 그래서 그 대신 탈출 백 슬래시 처리의, 특정 예를 처리하는 올바른 방법은 파일 단락 속성 점점입니다 :

일부 정책에 따라 별도로 ROOTDIR을 만든 것

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

-뿐만 아니라 플랫폼을하지만, "afile"이 실제 파일 시스템 루트에 상대적인지 또는 사용자의 홈 디렉토리에 상대적인지 여부를 결정합니다.

하지만 확실히 파일 구분자 속성을 사용하면 프로그램을 더 널리 사용할 수 있습니다. 더 많은 일이 있습니까? 예. Wanda Sykes가 말했듯이, "그러나 그것은 가치가 있습니다."

+1

Hiya and thanks. 사실 그것의 '파일 이름'은 나의 경우에 관련성이 없다. 내 모든 코드는 문자열 (또는 시도)을 가져 와서 전달하는 것입니다. 실제로 웹 서비스에 전달하는 것 외에는 아무 것도하지 않습니다. Java에서 호출되는 C# WCF 서비스의 응답을 테스트하고있었습니다. 테스트를 코딩하기가 어려웠으므로이 시점에서이 제한을 발견했습니다. 나는 실제로 문자열을 기반으로하는 '파일 기반'을 수행하지 않습니다. –

관련 문제