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();
}