Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 档案中有什么东西存在吗_Java - Fatal编程技术网

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

所以我创建了一个java程序,将java程序的基本模板输出到一个文件(classname.java)中

    /*
    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的重新语法中表示“输入结束”: