gpt4 book ai didi

java - 如果使用java的文件夹中不存在文件,如何停止程序?

转载 作者:行者123 更新时间:2023-12-01 19:19:14 25 4
gpt4 key购买 nike

我有一个程序,可以从目录中选择最近的文件并将它们压缩到一个文件中。但我想在目录中没有文件时停止程序并显示错误消息,例如“目录中没有文件”

我尝试附加此内容:

if(文件.存在){ }别的{ }

但我不知道如何将其插入我的代码中。

谢谢

{
String source = "C:/Source";
String target = "C:/Target";

File sourceDir = new File(source);
File[] files = sourceDir.listFiles();

if(files.exists())

Arrays.sort(files, new Comparator<File>()
{
public int compare(File f1, File f2)
{
return (int) (f2.lastModified() - f1.lastModified());
}
});

// create the target directory
File targetDir = new File(target);
targetDir.mkdirs();

{
for(int i=0, length=Math.min(files.length, 12); i<length; i++)
files[i].renameTo(new File(targetDir, files[i].getName()));


PrintWriter pw = new PrintWriter(new FileOutputStream("C:/Joined/joined.txt"));
File file = new File("C:/Target");

File[] files2 = file.listFiles();

for (int i = 0; i < files2.length; i++)
{

File currentFile = files2[i];

System.out.println("Processing " + currentFile.getPath() + "... ");

BufferedReader br = new BufferedReader(new FileReader(currentFile));

String line = br.readLine();

while (line != null)
{
pw.println(line);
line = br.readLine();
}
br.close();
}
pw.close();

Thread.sleep(2000);
try
{
ProcessBuilder pb = new ProcessBuilder("c:\\Joined\\Join.bat");
Process p = pb.start();

}
catch (IOException e)
{
e.printStackTrace();
}
}}}

最佳答案

最好使用保护子句来防止进一步执行,而不是使用 System.exit() 方法。使用 System.exit() 并不是一个好的做法,因为它会突然停止流程。理想的解决方案是

if (file.exists()) 
return; //Use appropriate returns according to the method signature.

// Block of code that does something with the file.

关于java - 如果使用java的文件夹中不存在文件,如何停止程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5130281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com