目的是把f数组的前20项输入到文件fin.txt中,再从fin.txt中内容输出到屏幕上.代码如下:
import java.io.*;
class fin{
public static void main(String[] argc)throws Exception{
FileWriter fw=new FileWriter("fin.txt");
FileReader fr=new FileReader("fin.txt");
int c;
int[] f=new int[20];
f[0]=f[1]=1;
for(int i=2;i<20;i++)
f[i]=f[i-1]+f[i-2];
for(int i=0;i<20;i++)
{
fw.write(f[i]);
fw.write(",");
}
fw.close();
while((c=fr.read())!=-1)
{
System.out.print((char)c);
System.out.print(",");
}
fr.close();
}
}
但是输出到文件与屏幕上的却是乱码一堆.请问什么问题?
import java.io.*;
class fin{
public static void main(String[] argc)throws Exception{
FileWriter fw=new FileWriter("fin.txt");
FileReader fr=new FileReader("fin.txt");
int c;
int[] f=new int[20];
f[0]=f[1]=1;
for(int i=2;i<20;i++)
f[i]=f[i-1]+f[i-2];
for(int i=0;i<20;i++)
{
fw.write(f[i]);
fw.write(",");
}
fw.close();
while((c=fr.read())!=-1)
{
System.out.print((char)c);
System.out.print(",");
}
fr.close();
}
}
但是输出到文件与屏幕上的却是乱码一堆.请问什么问题?
throws IOException写入单个字符。要写入的字符包含在给定整数值的 16 个低位中,16 高位被忽略。
用于支持高效单字符输出的子类应重写此方法。
参数:
c - 指定要写入字符的 int。
如若f[i]此时的值为48 传过去就变成‘0’,若是65 传过去就变成‘A’解决办法 :我楼上楼上的那个以给出
{
public static void main(String[] argc)throws Exception
{
FileWriter fw=new FileWriter("fin.txt");
FileReader fr=new FileReader("fin.txt");
int c=0;
int[] f=new int[20];
f[0]=f[1]=1;
for(int i=2;i<20;i++)
{
f[i]=f[i-1]+f[i-2];
System.out.print(f[i]+",");
}
System.out.println();
for(int i=0;i<20;i++)
{
String vv=null;
vv=Integer.toString(f[i]);
fw.write(vv);
fw.write(",");
}
fw.close();
/** while((c=fr.read())!=-1)
{
System.out.print(c);
// System.out.print(",");
}
fr.close();
*/ try
{
char[] buf = new char[1024];
int len = fr.read(buf);
System.out.println(new String(buf,0,len));
}
catch(Exception e)
{
System.out.print(e.getMessage());
}
}
}
class fin{
public static void main(String[] argc)throws Exception{
FileWriter fw=new FileWriter("fin.txt");
FileReader fr=new FileReader("fin.txt");
int c;
int[] f=new int[20];
f[0]=f[1]=1;
for(int i=2;i<20;i++)
f[i]=f[i-1]+f[i-2];
for(int i=0;i<20;i++)
{
fw.write(String.valueOf(f[i]));
fw.write(",");
}
fw.close();
while((c=fr.read())!=-1)
{
System.out.print((char)c);
}
fr.close();
}
}