Estoy tratando de escape de barra diagonal en Cadena que puede ser utilizado en la ruta usando Java.
Por ejemplo: String:: «Prueba/Mundo»

Ahora quiero usar por encima de cadena de ruta de acceso.Al mismo tiempo tengo para asegurarse de que la Prueba del «Mundo» vendrá como es en la ruta. Lo siento si su duplicado, pero no pude encontrar ninguna solución satisfactoria para este.

Mi propósito es usar la cadena para crear nodos en el Cuidador.
Ejemplo:
Si yo uso la siguiente cadena para crear nodo en Zokkeeper entonces debo hacerme la Prueba del «Mundo» como un solo nodo no por separado. Cuidador acepta «/» como separador de ruta que en algunos casos no me requieren.

/cuidador/HellowWorld/Test/Mundo

Gracias

posibles duplicados de Java – Barra diagonal Carácter de Escape
Hola Sushain. No estoy seguro de cómo es duplicado.

OriginalEl autor Frank | 2014-07-08

5 Comentarios

  1. 8

    Que usted debe saber acerca de File.separator … Esto es más seguro que \ o / porque Linux y Windows uso de archivos diferentes separadores. El uso de File.separator hará que el programa se ejecute independientemente de la plataforma que se ejecuta en, después de todo, ese es el punto de la JVM. — barra diagonal de trabajo, sin embargo, File.separator hará que los usuarios finales más seguro de que lo hará.

    Y no es necesario escapar "/ … usted debe véase también la respuesta a esta pregunta

    String fileP = "Test" + File.separator + "World";
    Usar El Archivo.Separador Cuidador de Prueba creado y el Mundo como dos entidades separadas(Como parte de la Ruta). Lo que estoy tratando de encontrar es cómo escapar de ella, así que voy a conseguir nodo como «Prueba/Mundo»
    ¿Has probado eso? Creo el Archivo.Separador devolverá la cadena para usted… ¿estás tratando de recorrer los elementos de la ruta de acceso y concatenar para una sola cadena?
    Sí tengo que forman como una sola Cadena de otra manera no será aceptado como ruta de acceso en el Cuidador. Sí traté de su enfoque.
    compruebe el segundo ejemplo aquí, a ver si getResource() puede ayudar a usted qualitybrain.com/?p=3

    OriginalEl autor J-Dizzle

  2. 0

    Con el fin de escapar de un carácter en Java usar «\»
    por ejemplo:

    String strPath = "directory\file.txt".

    Yo creo que usted no necesita para escapar de barras diagonales, tales como: «/»

    Su creencia es correcta. Sería bueno incluir un fuente aunque. 🙂
    Sí que tengo que usar este camino en el Cuidador, así como la normal del sistema de archivos.

    OriginalEl autor rozi

  3. 0

    Permítanme reformular su pregunta. Usted está tratando de crear un nodo en cuidador y debe ser /cuidador/Holamundo/NodeName. Pero la última parte «NodeName» es en realidad «Prueba/Mundo», y que están buscando la manera de escapar de la «/» por lo que el nombre de nodo puede ser «Test/Mundo».

    No creo que funcionaría escapar el char, a menos que usted trató con unicode.

    Intentarlo \u002F que es el equivalente de /.

    Yo intentos, pero al cuidador nivel se toma como «/» y las formas nodo independiente.
    Hay una manera de cambiar el nombre de los nodos una vez creado? Tal vez el podría trabajar para cambiar el nombre de un nodo.

    OriginalEl autor Alexandre Santos

  4. 0

    No sé nada acerca de Cuidador. Pero a mí parece como si usted está tratando de mantener una lista de cadenas como "zookeeper", "HellowWorld", "Test/World", que desea utilizar para crear Cuidador nodos o para crear una ruta de acceso en un sistema de archivos. (Estoy asumiendo que si usted está trabajando con un sistema de archivos, vas a tener un subdirectorio Test y un archivo o subdirectorio World en el Test subdirectorio. Si usted está realmente tratando de crear un único archivo o directorio llamado Test/World rindas. Linux y Windows pelear con usted.)

    Si ese es el caso, entonces no intente representar el «camino» como un simple String que te pase de todo en su programa. En su lugar, la representan como un String[] o ArrayList<String>, y luego convertirlo a un archivo de sistema nombre de ruta de acceso sólo cuando se necesita un sistema de archivos nombre de ruta de acceso. O, mejor, definir su propia clase con un getFilesystemPath método. La conversión de su lista de nombres de nodo a un nombre de ruta String demasiado temprano y, a continuación, tratando de reconstruir la lista de la String más tarde, es un mal enfoque porque tirar datos que se necesitan más tarde (en particular, usted está tirando de la información acerca de que / personajes son los separadores y las que son parte de los nombres de nodo).

    EDITAR: Si usted también necesita un único nombre de ruta de acceso para el Cuidador, como usted ha mencionado en otro comentario, no te puedo ayudar ya que no sé Cuidador y no he encontrado nada en un rápido vistazo a la documentación. Si hay una manera de escapar de la barra del Cuidador, entonces yo todavía recomiendan la definición de su propia clase, con un getFilesystemPath método y un getZookeeperPath método, ya que los dos métodos probablemente volverá a diferentes Strings en ciertos casos. La clase internamente mantener los nombres como una matriz o ArrayList.

    OriginalEl autor ajb

  5. 0

    Que estamos tratando de resolver exactamente el mismo problema (a través de sistema de archivos de la ruta como el nombre de nodo en zookeeper) no hemos encontrado una manera de cómo han ‘/’ en nombre de nodo.

    Solución sería reemplazar ‘/’ con un cierto carácter, que no aparecen en su nombre de nodo. Para las rutas que sería ‘/’ o ‘\0’, lo que no nos ayuda en este caso.

    Otra posibilidad es sustituir ‘/’ con la cadena de caracteres permitidos en el nombre de un nodo, por ejemplo, «Prueba/Mundo» -> «la Prueba de%@Mundo», «Test%Mundo» -> «la Prueba de%%Mundo» y agregar escapar/de-escape para guardar y cargar.

    Si hay alguna forma más sencilla y directa, me encantaría escucharlo.

    OriginalEl autor jka

Dejar respuesta

Please enter your comment!
Please enter your name here