air - una - listar archivos de google drive
¿Cómo convertir el nombre del archivo con la ruta al nombre corto del archivo(estilo DOS) en Adobe AIR? (2)
Aquí está mi método práctico que hace esto a continuación:
public static string GetShortPathName(string path)
{
string[] arrPath = path.Split(System.IO.Path.DirectorySeparatorChar);
path = arrPath[0]; // drive
// skip first, ( drive ) and last program name
for (int i = 1; i < arrPath.Length - 1; i++)
{
string dosDirName = arrPath[i];
if (dosDirName.Count() > 8)
{
dosDirName = dosDirName.Substring(0, 6) + "~1";
}
path += System.IO.Path.DirectorySeparatorChar + dosDirName;
}
// include program name if any
path += System.IO.Path.DirectorySeparatorChar + arrPath[arrPath.Length - 1];
return path;
}
¿Cómo convertir el nombre del archivo con la ruta al nombre corto del archivo (estilo DOS) en Adobe AIR?
Por ejemplo, convertir la siguiente ruta
"C:/Program Files/Common Files/Adobe AIR/Versions/1.0/Resources/Adobe AIR Updater.exe"
a
"C:/PROGRA~1/COMMON~1/ADOBEA~1/VERSIONS/1.0/RESOUR~1/ADOBEA~1.EXE"
¿Hay algún algoritmo?
Suponiendo que su porción de texto es una variable de cadena, puede dividirla usando "/" como delimitador. Luego, tendrá una matriz que puede usar para verificar si cada bloque tiene más de 8 caracteres. Al hacer un bucle en la matriz, puede cortar los últimos caracteres de cada bloque largo y colocar ~ 1. Ya que está en el bucle, puede agregar progresivamente a una variable temporal todos estos cambios que le darán el resultado final editado al final.
La única parte que es un poco complicada es prestar atención a la parte .exe al final.
Entonces, si yo fuera tú, comenzaría a leer en String.split (), String.substring (), para loop, arrays