Вот пример InputFilter, который позволяет довести до 4 цифр до десятичной точки и максимум 1 цифру.
Значения, которые edittext позволяет: 555.2, 555, .2
Значения, которые выделяют блоки: 55555.2, 055.2, 555.42
InputFilter filter = new InputFilter() {
final int maxDigitsBeforeDecimalPoint=4;
final int maxDigitsAfterDecimalPoint=1;
@Override
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
StringBuilder builder = new StringBuilder(dest);
builder.replace(dstart, dend, source
.subSequence(start, end).toString());
if (!builder.toString().matches(
"(([1-9]{1})([0-9]{0,"+(maxDigitsBeforeDecimalPoint-1)+"})?)?(\\.[0-9]{0,"+maxDigitsAfterDecimalPoint+"})?"
)) {
if(source.length()==0)
return dest.subSequence(dstart, dend);
return "";
}
return null;
}
};
mEdittext.setFilters(new InputFilter[] { filter });
Самый простой способ - загрузить diff для Windows: http://gnuwin32.sourceforge.net/packages/diffutils.htm
Вы также можете сделать что-то вроде:
dir directory1 > dir1
dir directory2 > dir2
comp dir1 dir2
Кроме того, некоторые версии Windows поставляются с windiff
, однако это инструмент с графическим интерфейсом
Вы можете использовать утилиту windiff, включенную в Windows, начиная с версии NT и выше. Просто запустите «windiff», и появится графический инструмент.
Файл -> Сравнить каталоги
http://msdn.microsoft.com/en-us/library/aa266122 (VS.60) .aspx
В этой статье описывается, как использовать его из командной строки. Большим преимуществом этого инструмента является то, что он уже включен, и вам не нужно ничего скачивать и устанавливать.
Частичное решение (и, таким образом, для меня, к сожалению, «нерешение», хотя у меня изначально были на это большие надежды), которое может быть или не быть достаточным для вас:
Похоже, инструмент ROBOCOPY можно (ab-) использовать для рекурсивного сравнения своего рода бедного человека ; с досадным ограничением, что он, по-видимому, не сравнивает содержимое файла . Кажется, для сравнения размеры, даты и, необязательно, атрибуты . Магическое заклинание для этого было бы:
ROBOCOPY path1 path2 /e /l /ns /njs /njh /ndl /fp /log:result.txt /it
где options , означающее , кажется:
/e
- recurse , включая пустые каталоги; /l
- только печатать журнал, не изменять файлы; /ns /njs /njh
- не печатать размеры файлов, задания итоги, заголовок задания; /ndl
- «не регистрировать имена папок» /log:result.txt
- записывать результаты в 'result файл .txt '; Я думаю, что это может быть опущено, и результат будет показан на стандартном выводе. Дополнительные опции:
/it
- я думаю, это следует добавить, если вы тоже хотите сравнить атрибуты - см. объяснение того, что такое «подправленные» файлы . Как я уже говорил выше, это, к сожалению, не для сравнения содержимого файла. Я проверил это, выполнив сначала следующую команду:
mkdir d1\a\b d2\a\b & echo x > d1\a\b\f & echo y > d2\a\b\f
В большинстве случаев это должно приводить к файлам d1 \ a \ b \ f и d2 \ a \ b \ f с одинаковыми временными метками, вы можете проверить с dir d1\a\b\f d2\a\b\f
. robocopy
вызов на d1 & amp; d2 дал пустой набор результатов для меня.
В Windows 10 вы можете запустить команду diff
в bash
, включив Linux Bash Shell
Установите Cygwin , и вы можете использовать diff -r
в Windows.
Команда comp для Windows - это то, что вы ищете для.
Вот пример:
Чтобы сравнить содержимое каталога C: \ Reports с резервным каталогом \\ Sales \ Backup \ April, введите:
comp c:\reports \\sales\backup\april