Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.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_File - Fatal编程技术网

Java中的文件创建

Java中的文件创建,java,file,Java,File,我想创建一个文件,其内容应如下所述: Start NAME COLLEGE COUNTRY MOBILE xyz college1 India 1234567890 abc college2 Germany 4561237890 End 在上面的文件中,列名是固定的,只有每行的值会更改。未定义行数。我使用java中的字符串模板尝试了这一点,并使用了下面的sample.st Start NA

我想创建一个文件,其内容应如下所述:

Start

NAME      COLLEGE        COUNTRY    MOBILE

xyz        college1      India      1234567890

abc        college2       Germany    4561237890

End
在上面的文件中,列名是固定的,只有每行的值会更改。未定义行数。我使用java中的字符串模板尝试了这一点,并使用了下面的sample.st

Start

NAME COLLEGE COUNTRY MOBILE

$name$ $college$ $country$ $mobile$

End

其中,占位符值将替换为实际值。但我不确定使用此方法是否可以有多行。

为什么不为每行使用模板?使用
StringBuilder
连接标题,然后遍历行,通过模板生成字符串并附加到
StringBuilder

e、 g.在伪ish代码中:

StringBuilder sb = new StringBuilder();
sb.append("START\n");
sb.append(....)
foreach(Row r : rows) {
   sb.append(template);
}
sb.append("END\n");

如果做不到这一点,请查看模板库,例如or。

是的,为什么不呢?在阅读文件时,请确保跳过标题和开始与结束,然后逐行阅读文件


也可以考虑使用一些分隔符,例如“;”除非你想用Se/AWK之类的方式阅读它,否则你读它的方式会更舒服。

< P>使用<代码>格式化程序> />代码>和<代码>扫描器< /Cord>类:

文件创建

Formatter f=new Formatter("data.txt");
    f.format("%s%n","START");
    f.format("%s\t\t%s\t\t%s\t\t%s%n","NAME","COLLEGE","COUNTRY","MOBILE");
    for(int i=0;i<10;i++)
    {
     f.format("%d\t\t%d\t\t%d\t\t%d%n",i,i,i,i);  // Apply your logic for input over here
    }
    f.format("%s%n","END");
    f.close();
    Scanner s=new Scanner(new File("data.txt"));
    while(s.hasNext())
    {
        System.out.println(s.nextLine());   
    }
    s.close();
    }