我想從任何我想要的目錄中選擇一個隨機文件。如 C:\ Users \ Josh \ Pictures \ [randomFile]從Java目錄中選擇一個隨機文件
我沒有代碼顯示我只是想知道我將如何來這樣做。
我完全在做什麼是使用一個類來改變我的桌面的背景,現在我想添加一個隨機文件,所以當它刷新後臺將是不同的,我不必停止運行的代碼手動更改路徑中文件的名稱。如果你想知道繼承人是什麼樣子
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class BackgroundTest {
final static File dir = new File("C:\\Users\\Kevin\\Pictures\\Pyimgur\\");
static int size = 10;
static String [] fileArray = new String[size];
public static void main(String[] args) {
File[] files = dir.listFiles();
for(int i =0; i<size;i++){
int idz = (int)(Math.random()*size);
fileArray[i]=files[idz].getName();
}
for(String x: fileArray){
System.out.print(x);
}
String path = "C:\\Users\\Kevin\\Pictures\\Pyimgur\\";
String picture = "picture.jpg";
//System.out.print(fileArray[0]);
SPI.INSTANCE.SystemParametersInfo(
new UINT_PTR(SPI.SPI_SETDESKWALLPAPER),
new UINT_PTR(0),
path + picture,
new UINT_PTR(SPI.SPIF_UPDATEINIFILE | SPI.SPIF_SENDWININICHANGE));
}
public interface SPI extends StdCallLibrary {
//from MSDN article
long SPI_SETDESKWALLPAPER = 20;
long SPIF_UPDATEINIFILE = 0x01;
long SPIF_SENDWININICHANGE = 0x02;
SPI INSTANCE = (SPI) Native.loadLibrary("user32", SPI.class, new HashMap<Object, Object>() {
{
put(OPTION_TYPE_MAPPER, W32APITypeMapper.UNICODE);
put(OPTION_FUNCTION_MAPPER, W32APIFunctionMapper.UNICODE);
}
});
boolean SystemParametersInfo(
UINT_PTR uiAction,
UINT_PTR uiParam,
String pvParam,
UINT_PTR fWinIni
);
}
}
在問這裏之前,嘗試先做一些事情總是最好的,然後顯示你的問題。至少,這會產生一個更好,更具體的問題。我還建議您刪除與手頭問題無關的任何代碼,以及使您的發佈代碼可運行和編譯所需的任何其他代碼,僅此而已。 –
基本上,你想獲得目錄中的文件列表,然後使用隨機數生成器來選擇其中的一個。你不知道你是如何使用它的,或者解釋你已經有什麼問題了。 –
您可能面臨的任何問題? – Viney