在开放档案供阅读之前,我如何检查是否有档案。 (相当于) 缩略语
The only similar question on SO address the file and was addressed using FileWriter
which is clear not applicable here.
如果我可能更喜欢一个真正的API,则要求归还真实/数字,而不是一些“Call API,在提交一个例外时打开档案和渔获量”,但我可以与后者住在一起。
在开放档案供阅读之前,我如何检查是否有档案。 (相当于) 缩略语
The only similar question on SO address the file and was addressed using FileWriter
which is clear not applicable here.
如果我可能更喜欢一个真正的API,则要求归还真实/数字,而不是一些“Call API,在提交一个例外时打开档案和渔获量”,但我可以与后者住在一起。
Using java.io。 文件编码>
:
File f = new File(filePathString);
if(f.exists() && !f.isDirectory()) {
// do something
}
我建议使用<代码>isFile(,而不是exists(
)。 多数时候,你们都想检查一下,这些途径是否把档案放在了,而不只是档案存在。 如果您的行程点到名录上,将重新命名<代码>exists()。
new File("path/to/file.txt").isFile();
<代码>新文档:/>.exists(>)将回复到实情,但不会允许您作为档案予以公开和阅读。
在Java SE 7,使用Nio
import java.nio.file.*;
Path path = Paths.get(filePathString);
if (Files.exists(path)) {
// file exist
}
if (Files.notExists(path)) {
// file is not exist
}
如果exists
and notExists
Return false,则不能核实档案的存在。 (可能无法利用这条道路)
如果<代码>path是名录或普通文档,你可以核对。
if (Files.isDirectory(path)) {
// path is directory
}
if (Files.isRegularFile(path)) {
// path is regular file
}
利用 Java8:
if(Files.exists(Paths.get(filePathString))) {
// do something
}
File f = new File(filePathString);
这不会产生身体档案。 只会制造阶级档案的物体。 a. 实际制作文件。
f.createNewFile();
因此,f.exists(>
>>可用来检查是否存在此类档案。
f.isFile() && f.canRead()
实现这一目标有多种途径。
正当存在的情况。 它可以是档案或目录。
new File("/path/to/file").exists();
档案检查
File f = new File("/path/to/file");
if(f.exists() && f.isFile()) {}
名录检查。
File f = new File("/path/to/file");
if(f.exists() && f.isDirectory()) {}
Java7行。
Path path = Paths.get("/path/to/file");
Files.exists(path) // Existence
Files.isDirectory(path) // is Directory
Files.isRegularFile(path) // Regular file
Files.isSymbolicLink(path) // Symbolic Link
页: 1 仅捕获<代码> 文件编号:。 档案系统必须检验档案是否存在。 这样做是两倍的,有几个原因,例如:
Don t试图对该系统进行二调。 它知道。 不要试图预测未来。 一般来说,能否获得
您可使用<代码>File.exists()。
先点击“有血迹”:
import java.io.*;
public class FileTest {
public static void main(String args[]) {
File f = new File(args[0]);
System.out.println(f + (f.exists()? " is found " : " is missing "));
}
}
对我来说,Sean A.O. Harney所接受的答复和Cort3z由此发表的评论似乎是最佳解决办法。
使用了以下刀子:
File f = new File(filePathString);
if(f.exists() && f.isFile()) {
//do something ...
}
希望能够帮助他人。
我知道,在座右边是很晚的。 然而,我的答复是自贾瓦7起生效的。
The following snippet
if(Files.isRegularFile(Paths.get(pathToFile))) {
// do something
}
完全令人满意,因为方法<代码>isRegularFile 回归代码
请注意,其他参数是说明如何处理联系的备选办法。 出现违约情况后,便有象征性的联系。
It s also well worth getting familiar with Commons FileUtils https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/FileUtils.html This has additional methods for managing files and often better than JDK.
Don t use File constructor with String.
This may not work!
Instead of this use URI:
File f = new File(new URI("file:///"+filePathString.replace( \ , / )));
if(f.exists() && !f.isDirectory()) {
// to do
}
简单的例子包括良好的编码做法,涵盖所有案件:
private static void fetchIndexSafely(String url) throws FileAlreadyExistsException {
File f = new File(Constants.RFC_INDEX_LOCAL_NAME);
if (f.exists()) {
throw new FileAlreadyExistsException(f.getAbsolutePath());
} else {
try {
URL u = new URL(url);
FileUtils.copyURLToFile(u, f);
} catch (MalformedURLException ex) {
Logger.getLogger(RfcFetcher.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(RfcFetcher.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
参考资料和更多实例
https://zgrepcode.com/examples/java/java/nio/file/filealreadyexists Statelessnession-implementations
你们能够这样做。
import java.nio.file.Paths;
String file = "myfile.sss";
if(Paths.get(file).toFile().isFile()){
//...do somethinh
}
具体目的是设计这些方法。 我们可以说,任何人都存在或根本不存在检查档案。
你们必须使用档案组,建立一个档案法庭,如果存在的话,你想要检查档案。 之后,你必须保证,它是档案,而不是目录。 之后,你可以在此档案中发出反对提及你档案的方法。 知道,java的卷宗类别并不代表档案。 它实际上代表了一条 director路或一条档案道路,它所代表的抽象道路在你的计算机上并不存在。 只是一种表述,即“为什么,你可以把档案作为论点而进入,同时制造档案标,然后检查,如果这条道路上确实存在,有()方法。
如果使用春天框架,文档途径从classpath:
开始。
public static boolean fileExists(String sFileName) {
if (sFileName.startsWith("classpath:")) {
String path = sFileName.substring("classpath:".length());
ClassLoader cl = ClassUtils.getDefaultClassLoader();
URL url = cl != null ? cl.getResource(path) : ClassLoader.getSystemResource(path);
return (url != null);
} else {
Path path = Paths.get(sFileName);
return Files.exists(path);
}
}
Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...
Check this, List<String> list = new ArrayList<String>(); for (int i = 0; i < 10000; i++) { String value = (""+UUID.randomUUID().getLeastSignificantBits()).substring(3, ...
I am in the middle of solving a problem where I think it s best suited for a decorator and a state pattern. The high level setting is something like a sandwich maker and dispenser, where I have a set ...
I have been trying to execute a MS SQL Server stored procedure via JDBC today and have been unsuccessful thus far. The stored procedure has 1 input and 1 output parameter. With every combination I ...
I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...
If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...
I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....
I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...