2016-02-06 63 views
0

我是Java新手,正在嘗試學習如何創建路徑。下面是我寫的代碼:錯誤:非法轉義字符 - 嘗試創建路徑時

import java.io.IOException; 
import java.nio.file.Paths; 
import java.nio.file.Path; 

public class CopyBytes { 
    public static void main(String[] args) throws IOException { 

     Path p1 = Paths.get("C:\Users\Justin\Documents\NetBeansProjects\JavaApplication\xanadu1.txt"); 
    } 
} 

然而,當我運行的代碼時,IDE輸出誤差:

Illegal escape character. 

這究竟是爲什麼?

+1

使用雙\ .. – Satya

+2

或者使用UNIX路徑以正斜槓,它工作正常的Windows。 – markspace

+1

@dzjustinli看看我的解決方案。 – user3437460

回答

3

某些字符在Java(以及許多其他語言)中用於字符串時有特殊含義。

一個反斜槓\可以用來逃避一個字符。在Java中一些有效的轉義字符就像\t標籤\n換行符

因此,如果您只使用一個\。編譯器將假定您要爲創造一個轉義序列:

\U, \J, \D, \N, \x 

這些轉義序列是不存在的,所以給你的錯誤。


如果您正在使用\你必須把它逃脫\\

但是,如果您使用/正斜槓,則不必這樣做。

所以,你可以有這樣的路徑:

"C:\\Users\\Justin\\Documents\\NetBeansProjects\\JavaApplication\\xanadu1.txt" 

這樣的:

"C:/Users/Justin/Documents/NetBeansProjects/JavaApplication/xanadu1.txt" 
2

就像@Satya說你必須使用雙反斜線\\
單個\啓動所謂的轉義序列來表示幾個特殊(不可打印)字符。

你可以找到更多關於轉義序列in this Wikipedia article

相關問題