Java 档案中有什么东西存在吗
所以我创建了一个java程序,将java程序的基本模板输出到一个文件(classname.java)中Java 档案中有什么东西存在吗,java,Java,所以我创建了一个java程序,将java程序的基本模板输出到一个文件(classname.java)中 /* Nathaly Morcillo Nov 19 2013 Header comments */ public class test{ public static void main String([] args){ } } 但我不明白的是: 收集所需输入后,检查请求的文件(classname.jav
/*
Nathaly Morcillo
Nov 19 2013
Header comments
*/
public class test{
public static void main String([] args){
}
}
但我不明白的是:
收集所需输入后,检查请求的文件(classname.java)是否已经存在。如果没有,则程序按上述方式进行。如果它确实存在,程序只需添加标题注释(因为您以前可能没有把它们放进去)。提示:由于您必须先读取,然后再写入同一个文件,请尝试使用
Scanner scan = new Scanner(file);
scan.useDelimiter("\\Z");
String content = scan.next();
方法读取并存储整个文件的内容,然后再写出文件和新的头注释
我不明白如何使用scan.useDelimiter(\\Z”)代码>
我得到的是:
File outputFile = new File(outputFileName);
if (outputFile.exists()) {
} else {
pout.println(
System.out.println("Contents of file");
pout.close();
}
因为这看起来像是家庭作业,我不会给你答案,但我会尽力解释发生了什么,并给你一些提示
Scanner scan = new Scanner(file);
这将创建一个新的扫描仪
对象,允许您从给定的文件
中读取
scan.useDelimiter("\\Z");
扫描器
对象将其输入拆分为所谓的标记。它通过使用测力仪来实现这一点。基本上,它会查找任何与其delimeter匹配的内容,并在每个匹配点上剪切其输入。在您的情况下,“\\Z”
是一个只匹配输入结尾的正则表达式。这会导致您的扫描仪
读取整个文件
String content = scan.next();
这将返回扫描仪
输入中的下一个标记。由于您将delimeter设置为“\\Z”
,因此这是整个文件
String content = scan.next();
现在进入实际程序。显然,您无法从不存在的文件中读取,因此如果outputFile.exists()
返回true
usedimiter(\\Z”)
告诉扫描仪
读取到文件末尾,您可能只想使用扫描仪。(该参数是一个正则表达式,\Z
在Java的重新语法中表示“输入结束”: