求取答案,请各位大神帮帮忙
本帖最后由 wangxiaoxiao88 于 2012-12-06 14:21:21 编辑 import java.io.*;
public class Gh {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
int b;
byte buffer[]=new byte[100];//还有这一步的意思
try{
System.out.println("输入一行文本,并存入磁盘:");
b=System.in.read(buffer);//这一步是什么意思
FileOutputStream writefile=new FileOutputStream("line.text");
writefile.write(buffer,0,b);
}
catch(IOException e){
System.out.println("Error"+e);
}
}
}
求此程序的详细解释,最好有几个重要步骤的解释。
[解决办法]
byte buffer[]=new byte[100];//buffer用于存储临时数据
b = inStream.read(buffer); //实际读取长度存于 b中
FileOutputStream writefile=new FileOutputStream("line.text");
writefile.write(buffer,0,b);
//穿件 文件line.text,并将b写进去
[解决办法]
byte buffer[]=new byte[100] 临时存放数据,最大100个字节
b=System.in.read(buffer);把在控制台输入的数据buffer,并且记录长度到b
FileOutputStream writefile=new FileOutputStream("D:/line.text");
这里我自己写入D盘,刚运行了LZ的,不知道跑那个盘曲了,文件。
这个就射声明一个文件写入流,确认文件写入位置。
writefile.write(buffer,0,b);
文件写入,写入的数据从buffer里面获取,从0开始到b结束!
[解决办法]
楼上正解!
public static void main(String[] args) {
int b;
// 定义100字节的内存缓冲区
byte buffer[]=new byte[100];
try{
System.out.println("输入一行文本,并存入磁盘:");
// 读取标准输入流,buffer里存放的是输入的内容,读取的字符个数返回给b
// 注意如果输入完字符后敲回车,会发现b的值比实际输入的值大2,这是因为回车相当于输入\r\n占两个字符
b= System.in.read(buffer);
// 定义一个输出流
FileOutputStream writefile=new FileOutputStream("d:/line.text");
// 把缓冲区的内容写到line.text中
writefile.write(buffer,0,b);
// 关闭输出流
writefile.close();
}
catch(IOException e){
System.out.println("Error"+e);
}
}
[解决办法]
byte buffer[]=new byte[100];//其中的buffer临时存放数据,为100字节。
b=System.in.read(buffer);//buffer里面存放的是控制台输入的内容,读取的字符长度存于b中。
多关注一下关于java流的问题。
普科学生