学了java和jsp几个月,今天第一次碰到转义符的概念,我想问一下,在什么情况下要用转义符。下面这个代码为什么要用转义符哪,可不可以用另外的代码代替呀:<%@ page contentType="text/html;charset=gb2312" import="java.io.*"%>
<html>
<head>
<title>向文件写入数据</title></head>
<body>
<center>
<%
   FileOutputStream fos=new FileOutputStream("c://Tomcat 5.5//webapps//ROOT//JSP//file5.dat");
   DataOutputStream dos=new DataOutputStream(fos);
   dos.writeInt(123);
   dos.writeLong(1234567);
   dos.writeFloat(12.345f);
   dos.writeDouble(1.234);
   dos.writeBoolean(true);
   dos.writeBoolean(false);
   dos.writeChars("I am a teacher");
   }
   catch(IOException e){
     out.println("文件发生错误");
 }
 try{
    FileInputStream fis=new FileInputStream("c://Tomcat 5.5//webapps//ROOT//JSP//file5.dat");
DataInputStream dis=new DataInputStream(fis);
out.println("整型:"+dis.readInt()+"<br>:");
out.println("长整型:"+dis.readLong()+"<br>:");
out.println("浮点型:"+dis.readFloat()+"<br>:");
out.println("双精度:"+dis.readDouble()+"<br>:");
out.println("布尔型:"+dis.readBoolean()+"<br>:");
out.println("布尔型:"+dis.readBoolean()+"<br>:");
char c;
while((c=dis.readChar())!='\0') {
  out.println(c);
  }
  }
  catch(IOException ee){
   out.println();
   }
   %>
   </center>
   </body>
   </html>
谢谢了!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【gjk11】截止到2008-06-30 17:26:44的历史汇总数据(不包括此帖):
    发帖数:7                  发帖分:200                
    结贴数:7                  结贴分:200                
    未结数:0                  未结分:0                  
    结贴率:100.00%            结分率:100.00%            
    敬礼!
      

  2.   


    碰到感觉不对劲的时候  你就要用到转意字符啦比如你要匹配\  那你怎么写?   写一个\肯定错。。或者SQL里  你要like %   你怎么写?  写一个%肯定错。。
      

  3.   

    因为有些控制字符(如制表符回车换行符等)外加在 Java 中有特殊含义的字符(如字符串开始结束定界符"和字符常量定界符')不能直接写在字符串常量内部,否则会引发歧义,所以要用特殊的字符序列来代表它们,转义字符就是这套代替表示的规则。而因为 \ 在 Java 中表示转义字符的开始,所以它也要转义化表示成 \\。
    另外在 Windows 中不是必须用 \ 来分隔路径名,用 / 也可以,也就是说
    "c:\\Tomcat 5.5\\webapps\\ROOT\\JSP\\file5.dat"
    也可以用如下形式表示
    "c:/Tomcat 5.5/webapps/ROOT/JSP/file5.dat"
    这样就避免了转义字符 \\ 带来的麻烦。
      

  4.   

    谢谢大家的回答,不过我要问的是红色标记的部分,那个"'\0’“为什么要用转义呀,替换"null"或""不可以吗