有没有办法在文本字段的netbeans上自动将\符号转换为java中的/
是否有一种方法可以在文本字段的netbeans上自动将\符号转换为java中的/。其目的是将图像上载到数据库。我通过文件选择器获取图像位置,然后将位置(地址)输出到文本字段,用户只需点击按钮即可上传。基本上,我希望在设置AddressText之前,每隔\将字符串变量“info”转换为/ 我的代码是有没有办法在文本字段的netbeans上自动将\符号转换为java中的/,java,Java,是否有一种方法可以在文本字段的netbeans上自动将\符号转换为java中的/。其目的是将图像上载到数据库。我通过文件选择器获取图像位置,然后将位置(地址)输出到文本字段,用户只需点击按钮即可上传。基本上,我希望在设置AddressText之前,每隔\将字符串变量“info”转换为/ 我的代码是 int returnVal = fileChooser.showOpenDialog(this); if (returnVal == JFileChooser.APPROVE_O
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);
}
我使用DocumentListener做过类似的事情。当您获得更新时,您可以搜索/并替换它 文档侦听器有3种方法。您实际上只需要实现2-删除/删除一个,您可以将其留空
另一方面,当您收到文档已更改的消息时,您应该在文本字段上调用getText(),查找/替换字符,并使用修改后的文本调用setText
。。。stringMyPath.replaceAll(“\\”,“/”)代码>
但是Java很好地处理了这个问题。在Java中工作不一定非得是a/才行。有时使用/更方便,因为\在某些情况下必须转义,因为它有特殊的含义
听起来数据库要求您在生成插入或更新字符串时转义\个字符。你不应该这样做。您应该使用参数化查询。如果使用参数化查询,则不必转义文本,也不会容易受到SQL注入攻击。在Java中,您可以使用PreparedStatement对象来执行此操作。为什么必须进行这样的转换?我仍然不明白您为什么要更改\for/@Traroth,因为它在为要上载到Java的文件构建远程url时很有用。Java的系统属性中有一个“file.separator”。不确定这是否是您正在寻找的内容,例如,您的计算机上的图像位置将是“C:\Images\test.jpg”,而在Java上,如果您将其“\n”写入新行,则必须是“C:/Images/test.jpg”。“\”似乎有不同的效果。如果我从数据库将信息写入,它必须始终是“/”谢谢你,你似乎明白我想要什么,我将如何使用文档Listener抱歉,甚至找不到你在说什么。当然有一个简单的问题way@user1456935我已经给了你答案。这取决于你如何努力实现它。只有当你想在用户键入“\”并将其转换为“/”时立即做出反应,这种方法才有意义,这样“\”就永远不会显示在屏幕上。从你的问题来看,这似乎不是你的要求。