Apenas curioso para System.getProperty("java.io.tmpdir")saber quando voltará "c:\temp". De acordo com o java.io.File Java Docs -
O diretório de arquivo temporário padrão é especificado pela propriedade do sistema java.io.tmpdir. Em sistemas UNIX, o valor padrão desta propriedade é geralmente "/ tmp" ou "/ var / tmp"; em sistemas Microsoft Windows, normalmente é "c: \ temp". Um valor diferente pode ser fornecido a esta propriedade do sistema quando a máquina virtual Java é chamada, mas as mudanças programáticas nesta propriedade não têm garantia de nenhum efeito sobre o diretório temporário usado por este método.
Mas no meu caso-
System.out.println(System.getProperty("java.io.tmpdir"));
Sempre retorna-
C:\Users\admin\AppData\Local\Temp\ i.e. %TEMP%
Em que condições ele retornará "c:\temp"?
EDITADO: Se eu alterar% TEMP% para C: \ Temp, obterei C: \ Temp, certo? Mas a documentação mostra c: \ Temp em vez de C: \ Temp.
C:\Tempentão, irei obter C:\Temp. Certo? mas doc mostra em c:\Tempvez de C:\Temp. :)
C:\Tempalterando% TEMP%, instalando o Windows 98 ou passando parajava -Djava.io.tmpdir=C:\Temp. Verifique também: stackoverflow.com/questions/3437095/…