2012-06-22 35 views
0

有没有办法在文本字段上的NetBeans上将\符号自动转换为/ in java?这样做的目的是将图像上传到数据库。我通过文件选择器获取图像位置,然后将位置(地址)输出到文本框,然后用户可以通过单击按钮进行上载。基本上我要转换的字符串变量“信息”每个\成/我之前设定的AddressText有没有一种方法可以自动将文本字段上的NetBeans中的符号转换为/ in java

我的代码是

 int returnVal = fileChooser.showOpenDialog(this); 

    if (returnVal == JFileChooser.APPROVE_OPTION) { 
    File file = fileChooser.getSelectedFile(); 

     // What to do with the file, e.g. display it in a TextArea 
     String info =file.getAbsolutePath(); 

     AddressText.setText(info); 

     } 
+0

为什么你需要做这样的转换? –

+0

我仍然不明白你为什么要改变你的\ for/ –

+0

@Traroth可能会在建立一个远程URL的文件被上传到 – ControlAltDel

回答

0

我做了使用的DocumentListener类似的事情。当您获得更新时,您可以搜索/并替换它。

http://docs.oracle.com/javase/7/docs/api/javax/swing/event/DocumentListener.html

文献听者有3种方法。你真的只需要实现2 - 删除/删除一个你可以留空白

在其他人,当你收到一条消息,该文件被改变,你应该调用getText()在你的文本字段,查找/替换你的字符,并调用的setText与修改后的文本

+0

谢谢你,你似乎明白我想要怎么去使用DocumentListener – user1456935

+0

@ user1456935我已经更新了我的答案 – ControlAltDel

+0

没有抱歉,甚至不能找到你在说什么回合。当然有一个简单的方法 – user1456935

0

你总是有方法可行使用

... stringMyPath.replaceAll("\\","/");

但Java的管理好这个问题。

0

它不一定是在Java中工作。有时候使用/更加方便,因为在某些情况下\必须被转义,因为它具有特殊的含义。

听起来好像你的数据库要求你在生成一个INSERT或UPDATE字符串时转义\字符。你不应该这样做。您应该使用参数化查询。如果您使用参数化查询,那么您不应该转义文本,并且您不会受到SQL注入攻击。在Java中,您可以使用PreparedStatement对象来执行此操作。

相关问题