Java IO notas de estudio corriente ------ (2) el carácter flujo de archivo de flujo y matriz de bytes
flujo de caracteres del archivo FileReader y FileWriter
El FileReader : la lectura de un archivo por medio del personaje, sólo el archivo de caracteres para
FileWriter : a modo de bytes escritos o anexión de datos a un archivo, archivo de sólo el carácter adecuado
El método de la misma parte de un flujo de bytes del archivo (read (), write () )
Otros métodos:
FileWriter: append () escribe
name.append ( "Hola");
name.append ( "Hola") adición ( "Friends") ;.
Archivo caracteres práctica flujo de entrada
package Io;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
/**
* @author 赌徒
* 文件字符输入流练习
*
*/
public class FileReaderT2 {
public static void main(String[] args) throws IOException {
//源头
File srcfile=new File("data.txt");
//选择流
FileReader fr=new FileReader(srcfile);
//操作
char[] c=new char[1024];
int len=-1;
while((len=fr.read(c))!=-1) {
String string=new String(c,0,len);
System.out.println(string);
}
//释放
fr.close();
}
}
Archivo caracteres práctica flujo de salida
package Io;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
/**
* @author 赌徒
* 文件字符输出流练习
*
*/
public class FileWriterT2 {
public static void main(String[] args) throws IOException {
//源头
File srcFile=new File("data.txt");
//选择流
FileWriter fw=new FileWriter(srcFile);//可以加true参数决定是否附加写入
//操作
fw.append("你好--");
fw.append("你好,").append("朋友");
// 另种方法
// String string="你好呀!";
// char[] c=string.toCharArray();
// fw.write(string);
//刷新
fw.flush();
//释放
fw.close();
}
}
Ejercicios flujo de caracteres del archivo
package Io;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* @author 赌徒
* 文件字符流综合练习
*
*/
public class copy2 {
public static void main(String[] args) throws IOException {
//源头
File srcFile=new File("data.txt");
//目的地
File srcFile1=new File("copy2.txt");
//选择流
FileReader fr=new FileReader(srcFile);
FileWriter fw=new FileWriter(srcFile1);//可以加true参数决定是否附加写入
//操作
char[]c=new char[1024];
int len=01;
while((len=fr.read(c))!=-1) {
fw.write(c,0,len);
}
fw.flush();
//释放----先打开的后关闭
fw.close();
fr.close();
}
}
matriz de bytes corriente ByteArrayInputStream y ByteArrayOutputStream
ByteArrayInputStream contiene un buffer interno, que contiene el byte puede ser leído de la corriente de
ByteArrayOutputStream que implementa la matriz de bytes al escribir datos en la corriente de salida cuando la memoria intermedia de datos de escritura, el crecimiento automático tampón
ByteArrayInputStream (byte [ ] buf) BUF como su matriz de tampón
size () devuelve el tamaño del búfer
toBytearray () para crear una nueva matriz de bytes asignados
El método de la misma parte de un flujo de bytes del archivo (read (), write ())
Nota: El
flujo de matriz de bytes sin cerrar
Ejercicios de entrada matriz de bytes
package reIo;
import java.io.ByteArrayInputStream;
import java.io.IOException;
/**
* @author 赌徒
* 字节数组输入综合练习
*
*/
public class ByteArrayInputStreamT3 {
public static void main(String[] args) throws IOException {
//源头
byte[] b="你好".getBytes();
//选择流
ByteArrayInputStream bis=new ByteArrayInputStream(b);
//操作
int len=-11;
while((len=bis.read(b))!=-1) {
String string=new String(b,0,len);
System.out.println(string);
}
//释放--可以省略
bis.close();
}
}
Ejercicios de salida matriz de bytes
package reIo;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
/**
* @author 赌徒
* 字节数组输出综合练习
*
*/
public class ByteArrayOutputStreamT3 {
public static void main(String[] args) throws IOException {
//源头
byte[] b=null;
//选择流
ByteArrayOutputStream bos=new ByteArrayOutputStream();
//操作
String string="你好";
byte[] b1=string.getBytes();
bos.write(b1,0,b1.length);
bos.flush();
b=bos.toByteArray();
System.err.println(new String(b));
//释放--可以省略
bos.close();
}
}
Byte Ejercicios de transmisión en serie
package Io;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* @author 赌徒
* 图片写到字节数组中,字节数组写出到文件
*
*/
public class copy3 {
public static void main(String[] args) throws IOException {
bytearrayTOpicture(pictureTObytearray("1.png"), "2.png");
}
//图片写到字节数组
public static byte[] pictureTObytearray(String fileString) throws IOException {
//源头
byte[] b = null;
//流
FileInputStream fis=new FileInputStream(fileString);
ByteArrayOutputStream bos=new ByteArrayOutputStream();
//操作
int len=-1;
byte[] b1 = new byte[1024];
while((len=fis.read(b1))!=-1) {
bos.write(b1,0,len);
}
b=bos.toByteArray();
bos.flush();
//释放
bos.close();
fis.close();
return b;
}
//字节数组到图片
public static void bytearrayTOpicture(byte[] element,String fileString1 ) throws IOException {
//流
ByteArrayInputStream bis=new ByteArrayInputStream(element);
FileOutputStream fos=new FileOutputStream(fileString1);
//操作
int len=-1;
byte[] flush=new byte [1024];
while((len=bis.read(flush))!=-1) {
fos.write(flush,0,len);
}
fos.flush();
//释放
fos.close();
bis.close();
}
}