java流写入
① java字符流的读取和写入是什么
输入和输出操旅唯作的是字符,写入和读取的类是Writer和Reader,是抽象类绝顷,分别对相对应的子类FielWrite和FileReader类
关拆宏培注我,跟一群朋友一起学习;
② java 中简述使用流进行读写文本文件的步骤
InputStream
三个基本的读方法
abstract int read() : 读取一个字节数据,并返回读到的数据,如果返回-1,表示读到了输入流的末尾。
int read(byte[] b) : 将数据读入一个字节数组,同时返回实际读取的字节数。如果返回-1,表示读到了输入流的末尾。
int read(byte[] b, int off, int len) :将数据读入一个字节数组,同时返回实际读取的字节数。如果返回-1,表示读到了输入流的末尾。off指定在数组b中存放数据的起始偏移位置;len指定读取的最大字节数。
OutputStream
三个基本的写方法
abstract void write(int b) :往输出流中写入一个字节。
void write(byte[] b) :往输出流中写入数组b中的所有字节。
void write(byte[] b, int off, int len) :往输出流中写入数组b中从偏移量off开始的len个字节的数据。
其它方法
void flush() :刷新输出流,强制缓冲区中的输出字节被写出。
void close() :关闭输出流,释放和这个流相关的系统资源。
③ java中如何实现字符流的写入写出
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.OutputStreamWriter;
{
publicstaticvoid颂伏main(String[]args)
{
try
{
Filefile=new做知File("F:\io\abc.txt");
FileOutputStreamfos=newFileOutputStream(file);
OutputStreamWriterosw=newOutputStreamWriter(fos);
osw.write('大');
osw.write('家');
osw.write('好');
osw.close();
FileInputStreamfis=newFileInputStream(file);
InputStreamReaderisr=newInputStreamReader(fis);
System.out.println((char)isr.read());
System.out.println((char)isr.read());
System.out.println((char)isr.read());
isr.close();
}
catch(FileNotFoundExceptione)
{
System.out.println("操作的文件不存在");
}
catch(IOExceptione)
{
System.out.println("发生IO操作异野胡携常");
}
}
}
④ java 中能向内存直接写入数据的流是
可以则旦陪并考虑使用bytearrayinputstream
&
bytearrayoutputstream
字节数组位于内存
另外,“输入流是从硬盘到内存的读操作”
&
“输出流是从内存到硬盘的写操作”
这句严格说不正确。输入流、输出流的源和目标均是抽象概念,孙乱扰不一定是硬盘或者文件的
⑤ java将获得的文件写入输出流
可以通过BufferedReader 流的形式进行流读取,之后通过readLine方法获取到流每行的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 上面的bre就是提问者需要的流。流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
⑥ java如何向io流写入无符号的字节型数据
OutputStream os = socket.getOutputStream();
os.write(command);
直接用输出流写,支持byte[]参数,你用的bw.write(message[i]);参数是int类型的,int占四个字节