0

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

我的代码是

     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);

      }
4

3 回答 3

0

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

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

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

在其他方面,当您收到文档更改的消息时,您应该在您的文本字段上调用 ​​getText(),查找/替换您的字符,并使用修改后的文本调用 setText

于 2012-06-22T15:08:15.950 回答
0

你总是有可能使用

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

但是Java很好地解决了这个问题。

于 2012-06-22T15:12:45.830 回答
0

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

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

于 2012-06-22T15:28:22.447 回答