Java中文件保存与读取
使用FileInputStream类和FileOutPutStream类对文件进行读写
特点:专门用于处理字符
public static void main(String[] args) {
//FileInputStream类和FileOutPutStream类
File file = new File("G:\\test\\text.txt");
try{
FileOutputStream out = new FileOutputStream(file);
String content = "你见过凌晨4点中国北京的样子吗";
byte by[] = content.getBytes();
out.write(by);
out.close();
}catch (Exception e){
}
try{
FileInputStream fileInputStream = new FileInputStream(file);
byte byt[] = new byte[1024];
int len = fileInputStream.read(byt);
System.out.println("文件中的信息为:" + new String(byt,0,len));
}catch (Exception e){
}
}
FileReader和FileWriter类
FileReader与FileWriter类操作的数据单元是一个字符,如果文件中有中文字符,那么使用FileReader类与FileWriter类读写文件时会避免乱码产生
public class IOtest {
public static void main(String[] args) throws IOException {
//FileInputStream类和FileOutPutStream类
File file = new File("G:\\test\\text1.txt");
//向文件中写入新数据时不覆盖已存在数据
FileWriter fileWriter = new FileWriter(file,true);
fileWriter.write("你好啊,中国");
fileWriter.close();
FileReader fileReader = new FileReader(file);
char[] chars = new char[1024];
int len = fileReader.read(chars);
System.out.println(new String(chars,0,len));
fileReader.close();
}
}
带缓冲区的BufferdInpuStream类与BufferedOutPutStream类
import java.io.*;
import java.nio.Buffer;
import java.util.Scanner;
public class IOTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String FileContent = scanner.next();
save("text.txt",FileContent);
System.out.println("输出内容为====>>"+read("text.txt"));
}
public static void save(String FileName,String FileContent){
File file = new File("I:\\"+FileName);
FileOutputStream fileOutputStream = null;
BufferedOutputStream bufferedOutputStream =null;
try {
fileOutputStream = new FileOutputStream(file);
bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
byte[] bytes = new byte[1024];
bytes = FileContent.getBytes();
bufferedOutputStream.write(bytes);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally {
try {
bufferedOutputStream.close();
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static String read(String FileName){
File file = new File("I:\\"+FileName);
FileInputStream fileInputStream = null;
BufferedInputStream bufferedInputStream = null;
FileReader fileReader = null;
String Content =null;
try {
fileInputStream = new FileInputStream(file);
bufferedInputStream = new BufferedInputStream(fileInputStream);
byte[] bytes = new byte[1024];
int len = bufferedInputStream.read(bytes);
Content = new String(bytes,0,len);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally {
try {
bufferedInputStream.close();
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return Content;
}
}