Для Python 3
def rwh_primes2(n):
correction = (n%6>1)
n = {0:n,1:n-1,2:n+4,3:n+3,4:n+2,5:n+1}[n%6]
sieve = [True] * (n//3)
sieve[0] = False
for i in range(int(n**0.5)//3+1):
if sieve[i]:
k=3*i+1|1
sieve[ ((k*k)//3) ::2*k]=[False]*((n//6-(k*k)//6-1)//k+1)
sieve[(k*k+4*k-2*k*(i&1))//3::2*k]=[False]*((n//6-(k*k+4*k-2*k*(i&1))//6-1)//k+1)
return [2,3] + [3*i+1|1 for i in range(1,n//3-correction) if sieve[i]]
Концепция скрытых файлов/папок очень специфична для операционной системы и недоступна через Java API.
В Linux файлы и папки, имя которых начинается с точки, скрыты по умолчанию во многих программах - сделать это очень просто.
В Windows "скрытые" - это специальный флаг, хранящийся в файловой системе. Для его изменения нет Java API; вы можете использовать Runtime.exec()
для выполнения команды attrib.
под *nix вы просто переименовываете файл, чтобы
filename = ".".filename;
Чтобы сделать файл или каталог скрытым под Unix, его имя должно начинаться с периода (.
).
Чтобы сделать файл скрытым под Windows, вам нужно установить 'скрытый' бит в его атрибутах. Стандартная библиотека Java не предлагает такой возможности (хотя есть метод file.isHidden()
), и я не знаю, какой инструмент это делает.
Для нужд кроссплатформенности можно использовать какой-нибудь заводской образец. Но то, что сказали все остальные. Боюсь, что вы не сможете сделать так, чтобы она всплыла с одной строкой кода, так как я чувствую, что вы этого хотите. Мои соболезнования.
это работа операционной системы (и вы, конечно, босс операционной системы). Но вы можете выполнить команду атрибута (Windows) и сказать OS(Windows), что вы хотите сделать папку "скрытой".
public class Main {
public static void main(String[] args) {
try
{
Runtime rt = Runtime.getRuntime();
//put your directory path instead of your_directory_path
Process proc = rt.exec("attrib -s -h -r your_directory_path");
int exitVal = proc.exitValue();
} catch (Throwable t)
{
t.printStackTrace();
}
}
}