nic*_*y97 0 java printing file
我试图将单词存储在java数组中由昏迷分隔
的文件中.文件是
年龄,收入,学生,信用评级,类:购买电脑
青年,高,不,公平,无
青年,高,不,优秀,无
中年,高,不,优秀,没有
高级,中等,不,公平,是
高级,低,是的,公平的,是的
高级,低,是的,优秀的,没有
public class Test {
public static void main(String args[]) throws FileNotFoundException, IOException{
FileInputStream f=new FileInputStream("F:\\pr\\src\\dmexam\\inp2.txt");
int size,nr=7,nc=5,j=0,i=0;
char ch;
String table[][]=new String[nr][nc];
size=f.available();
table[0][0]=new String();
while(size--!=0){
ch=(char)f.read();
if(ch=='\n')
{
i++;
if(i>=nr)
break;
table[i][0]=new String();
j=0;
continue;
}
if(ch==',')
{
j++;
table[i][j]=new String();
continue;
}
table[i][j]+=ch;
}
f.close();
System.out.println("The given table is:::---");
for(i=0;i<nr;i++){
for(j=0;j<nc;j++){
System.out.print(" "+table[i][j]);
System.out.print(" ");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但输出是
给定的表是::: ---
但如果for改变了这样的话
System.out.println("The given table is:::---");
for(i=0;i<nr;i++){
for(j=0;j<nc-1;j++){
System.out.print(" "+table[i][j]);
System.out.print(" ");
}
System.out.println(table[i][nc-1]);
}
Run Code Online (Sandbox Code Playgroud)
输出是
给定的表是::: ---年龄收入学生信用评级类:购买计算机
青年高不公平
青年高无优秀没有
中年高没有优秀没有
高级媒体不公平是的
高低是公平的
高低是的,没有
我想知道"为什么System.out.print不工作?"...
在该PrintStream的System.out使用有一个内部缓冲区,因为写入stdout是相对昂贵的-你不一定想这样做的每个字符.写入换行符时会自动刷新该缓冲区,这就是println导致文本出现的原因.如果没有该换行符,您的字符串就会位于缓冲区中,等待刷新.
您可以通过调用强制手动刷新System.out.flush().
| 归档时间: |
|
| 查看次数: |
486 次 |
| 最近记录: |