java.io.File的路径存在问题

java.io.File的路径存在问题,java,xml,swt,Java,Xml,Swt,我使用org.eclipse.swt.widgets.FileDialog在eclipse插件中获取文件路径,并将路径保存在XML文件中 在web.xml中,路径存储如下(我无法将backslah更改为forwardslash或转义backslash,因为该值来自SWT FileDialog) 无法获取实际路径,因为\n被视为新行 这表明读取文件的任何东西都在假设转义,但事实并非如此 不幸的是,您没有告诉我们用于写入数据的代码或用于读取数据的代码。这两条路都在你的控制之下吗 基本上,您需要以与取

我使用
org.eclipse.swt.widgets.FileDialog
在eclipse插件中获取文件路径,并将路径保存在XML文件中


在web.xml中,路径存储如下(我无法将backslah更改为forwardslash或转义backslash,因为该值来自SWT FileDialog)

无法获取实际路径,因为\n被视为新行

这表明读取文件的任何东西都在假设转义,但事实并非如此

不幸的是,您没有告诉我们用于写入数据的代码或用于读取数据的代码。这两条路都在你的控制之下吗

基本上,您需要以与取消浏览相同的方式进行转义-因此,您可以在写入数据时将
c:\new\demo\next\version.txt
转义到
c:\\new\\demo\\next\\version.txt,也可以删除在读取数据时尝试取消浏览的代码

请注意,如果您确实尝试过:

那么这肯定不会有任何帮助——因为您忽略了返回值。如果你试过

string = string.replace('\\', '/');
那么它应该执行相关的替换,但是你没有说你在哪里尝试这样做,或者以什么方式不起作用

在这里,我实际上会把前斜杠和后斜杠当作一条红鲱鱼:从根本上说,你需要以与逃避相同的方式逃避。用正斜杠替换反斜杠可能对文件名有帮助,但如果不能直接执行替换,则在其他地方会遇到问题

我正在使用eclipse插件获取文件路径 org.eclipse.swt.widgets.FileDialog并将路径保存在XML文件中


在web.xml中,路径存储如下(我不能将backsladh更改为 正斜杠或转义反斜杠,因为值来自SWT 文件(对话框)

SWT文件对话框不写入web.xml文件。您正在这样做,以便可以修复反斜杠。将其更改为正向斜杠

我在init()方法中有以下代码,但无法获取该文件 特殊字符的引用 这不起作用,因为\n被认为是单个字符[来自您的一条评论]


这意味着web.xml文件中的数据是错误的。您在代码中所能做的任何事情都无法解决这一问题。这不是一个编码问题。您不需要在Java中处理反斜杠。编译器已经做到了这一点,在本例中,web应用程序容器中的XML解析器也做到了这一点。您需要事先获得正确的文件格式。

为了更快地获得更好的帮助,请发布一个。在web.xml中,路径存储如下(我无法将反斜杠更改为正斜杠或转义反斜杠,因为值来自SWT FileDialog)\n文件路径c:\new\demo\next\version.txt\n在我的筛选器中,我在init()中有以下代码)方法,但由于字符串filePath=filterConfig.getInitParameter(“filePath”);/,我无法获取文件引用已尝试filePath.replace('\\','/')-->无效,因为\n是一个单字符文件f=new File(path)String.replace我没有忽略返回值,这无效,因为\n被认为是一个单字符谢谢@EJP,我现在可以用了,因为您的解决方案正是所需的,所以接受它作为答案
String filePath = filterConfig.getInitParameter("filePath");
// Tried filePath.replace('\\','/') --> Didnot work since \n is a single character
File f = new File(path)
string.replace('\\', '/');
string = string.replace('\\', '/');