Как изменить полномочия файла от Java 1.4.2?

Согласно приведенному выше коду, вы пытаетесь подсчитать количество каждого алфавита.
Итак, для каждой буквы предположим, что вы используете одну корзину. Что сделано в new int [ALPHABET];. Итак, у вас есть 26 слотов от 0 до 25.
Теперь, когда вы подсчитываете буквы:
Каждой букве присваивается значение (значение ASCII). Значение ASCII в нижнем регистре a a равно 97. Но в вашем слоте вы хотите добавить a в слот 0. Итак, что вы делаете: вы вычитаете 97, т.е. вы вычитаете значение a для каждой буквы .
Итак, теперь a сохраняется в слоте 0, b в слоте 1 и т. Д.

5
задан PeeHaa 28 January 2012 в 02:19
поделиться

3 ответа

Вы не единственный: Как изменить разрешение файла и в последний раз измененный в Java?

Вы могли, в принципе, использовать Runtime.exec ("chmod...") если существующий java.io. Методы файла не достаточно. Но это не было бы портативно.

3
ответ дан 15 December 2019 в 01:12
поделиться

Вы могли также посмотреть на Гну реализация ClassPath java.lang. Файл

Они реализовали функцию на основе вызовов JNI:

native/jni/java-io/java_io_VMFile.c:
  set_file_permissions: new helper function.
  Java_java_io_VMFile_setReadable: new native method to bakcup 1.6 methods
  in VMFile.java.

VMFile.java объявляет вызов:

  /**
   * Set the write permission of the file.
   */
  public static synchronized native boolean setWritable(String path,
                                                        boolean writable,
                                                        boolean ownerOnly);

native/jni/java-io/java_io_VMFile.c реализует желаемую функцию...

JNIEXPORT jboolean JNICALL
Java_java_io_VMFile_setWritable (JNIEnv *env,
                                 jclass clazz __attribute__ ((__unused__)),
                                 jstring name,
                                 jboolean writable,
                                 jboolean ownerOnly)
{
  return set_file_permissions (env, name, writable, ownerOnly,
                               CPFILE_FLAG_WRITE);
}

[...]
result = cpio_chmod (filename, permissions);

Так..., если Вы действительно хотите это, возможно реализовать его путем рассмотрения источника cpio.c: это звонит chmod из libc стандартной библиотеки (LibGW32C действительно портирует некоторые из тех функций к Windows),

1
ответ дан 15 December 2019 в 01:12
поделиться

Для большей ясности: Java 1.6 вводит геттеры / сеттеры, такие как File.canExecute () и File.setExecutable (логический) для прав доступа к файлам. Итак, одно из решений - использовать последний JDK вместо 1.4, о котором вы упомянули. В противном случае, как предлагается, вы можете попытаться выполнить резервное копирование или вызвать команды, специфичные для платформы.

0
ответ дан 15 December 2019 в 01:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: