Vous feriez import com.starbase.util.FileUtils;
ou import static com.starbase.util.FileUtils.*
. La hiérarchie montre simplement que la classe FileUtils
étend Object
(comme le font toutes les classes).
Vous devez également avoir le fichier .jar/API pour accéder à cette classe.
EDIT: mise en œuvre autonome Ajouté possible:
Si vous souhaitez implémenter vous-même (j'ai remarqué votre propre réponse 'trivial'), vous pouvez faire quelque chose comme ceci:
public static boolean isBinary(String fileName) throws IOException {
return isBinary(new File(fileName));
}
public static boolean isBinary(File file) throws IOException {
InputStream is = new FileInputStream(file);
try {
byte[] buf = new byte[4096];
int bytesRead;
while ((bytesRead = is.read(buf)) >= 0)
{
for (int i = 0; i < bytesRead; i++) {
if (buf[i] == (byte) 0)
return true;
}
}
return false;
} finally {
is.close();
}
}
S'il vous plaît note, je n'ai pas testé cela.
Je dois ajouter que c'est l'implémentation triviale. Il existe de nombreux types de fichiers texte qui seraient considérés comme binaires avec ceci. Si vous autorisez le texte à être Unicode et/ou UTF-8 (ou tout autre codage de texte), cela devient rapidement très difficile. Ensuite, vous devez développer quelques types d'heuristiques pour différencier les types de fichiers et cela ne serait pas 100% précis. Donc, cela dépend vraiment de ce que vous essayez de faire avec cela.
en regardant totalement trivial impl. pour savoir si un fichier est binaire, le but n'est pas de faire de l'analyseur. – hhh
Pour autant que je sache, il n'y a pas de moyen facile de vérifier si un fichier est binaire, je n'ai jamais utilisé le StarTeam SDK, mais s'ils ont ce dont vous avez besoin, essayez-le et voyez les résultats. –