¿Cómo obtendría la subruta de un directorio específico de una ruta?

De acuerdo, no puedo decirlo, pero necesito lo siguiente:

C:\Temp\Something\GroupName\...\file.ts -> GroupName\...\file.ts

Quiero extraer la ruta de una carpeta hasta el final.

Se me ocurrió este desastre aquí, pero estoy seguro de que estoy reinventando la rueda.

private Path extractGroupPath(Path path, String groupName) {
    int i;
    for (i = 0; i < path.getNameCount(); i++) {
        if (path.getName(i).startsWith(groupName)) {
            break;
        }
    }
    Path groupPath = Paths.get("");
    for (; i < path.getNameCount(); i++) {
        groupPath = groupPath.resolve(path.getName(i));
    }
    return groupPath;
}
Respuesta 1

Para obtener una ruta relativa entre las rutas, puede usar el relativize()método

Por lo tanto, debería poder hacer esto una vez que haya encontrado la ruta base, que, si aún no la conoce, podría hacerse iterando a través de los padres (usando getParent()) hasta encontrarla (marcando getFilename()) o presionando el botón raíz. Entonces debería ser tan fácil como parentPath.relativize(path).

Respuesta: 2

Tengo un método que obtiene registros de la tabla db de MySQL utilizando la API JDBC. El comando que he estado usando es: "SELECCIONAR columna_1, columna_2, ... DE la tabla;" Los nombres de columna se proporcionan a ...

Tengo una base de datos de solo lectura en mi aplicación de Android que actualizo periódicamente. La aplicación siempre lleva consigo la versión actualizada de la base de datos en sus activos. Incremento el número de versión que yo ...

Entonces, estoy tratando de hacer un programa que lea args y transforme todas las letras en mayúsculas sin el uso de toUpperCase (). La única forma que tengo que usar para procesar las letras individuales es con "- 'a' ...

Estoy tratando de agregar un botón dinámicamente en el método onPostExecute de AsyncTask. Estoy haciendo esto dentro de una clase que extiende Fragment. Puedo usar este código para crear dinámicamente un botón fuera de ...