OutputStream os=new FileOutputStream("D:\\upload\\"+imageFileName);

为什么("D:\\upload\\"+imageFileName);\\upload\\中要用两个\\一个就不行。我们打开电脑找到那个路径不都是以个\的吗

因为你这段在引号内 (" "),只要出现\ ,就表示是转义字符,也就是说\不是一个输出的字符,而是跟后面那个字符连接起来,用来表示其他意义。(如\n就表示换行的意思)
按你的代码,如果只有一个 \ ,系统会把 \u 当成一个特殊的命令。(尽管\u没有对应什么命令)
所以你希望\作为字符输出,就必须使用\\ ,这样系统把\\当成特殊的转义字符,解析成一个\ 来输出。
具体内容可以查看转义字符的相关信息
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-09
单个的“\”在Java中是转义符,系统会自动认定这个“\”不是字符串,而是表示紧跟其后字符有特殊的意义,转义的称呼来由如此。比如3楼提到了,\后面加n,n就表示换行,其原本的意思已经被\符号进行了转换;\后面加u,表示这是个unicode字符的代码,后面跟着4位字符编号,u的意思同样被\进行了转换;还有其他\b 退格、\t tab键都是同理。而\\的意思,就是将后一个字符\原本的转义符功能进行转换,使其作为正常字符输出,这时候,两个\\应作为一个字符识别,就像前面提到的\n、\u一样。
第2个回答  2011-08-09
用一个"/"
相似回答