文件:
创建文档:
File path2=new File(“D:/aqiao/a”);
path2.mkdirs();
文档下创建文件:
File file=new File(“D:/aqiao/a/1.txt”);
try {
file.createNewFile();
}catch (IOException e){
e.printStackTrace();
}
删除:
if (file.delete()){
System.out.println(“删除成功”);
}else {
System.out.println(“删除失败”);
}
流:
概念:流是指一连串流动的字符,是以先进先出方式发
送信息的通道
流的分类:
1、流向区分:
输出流:OutputStream和Writer作为基类;
输入流:InputStream和Reader作为基类;
2、处理数据单元划分:
字节流:字节输入流InputStream和字节输出流OutputStream
字符流:字符输入流Reader作为基类和字符输出流Writer作为基类;
FileInputStream读文本文件:
public void get2(){
FileInputStream file=null;
try {
file=new FileInputStream(“D:/aqiao/a/1.txt”);
byte[]b=new byte[500];
int len=-1;
String string="";
while ((len=file.read(b))!=-1){
string+=new String(b,0,len);
}
System.out.println(string);
} catch (Exception e) {
e.printStackTrace();
}finally {
if (file!=null){
try {
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
FileOutputStream 写文本文件
public void get3() {
FileOutputStream outputStream = null;
try {
//true表示追加,false表示覆盖
outputStream = new FileOutputStream(“D:/aqiao/a/1.txt”, true);
String words = “你好!!”;
byte[] b = words.getBytes();
System.out.println(“字节大小:” + b.length);
outputStream.write(b);
} catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println(“finally”);
if (outputStream != null) {
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
FileReader读取文件:
public void get4() {
Reader reader=null;
BufferedReader bfReader=null;
try {
reader = new FileReader(“D:/aqiao/a/1.txt”);
bfReader=new BufferedReader(reader);
StringBuffer sbf=new StringBuffer();
String line=null,s=new String();
while ((line=bfReader.readLine())!=null){
// System.out.println(line);
// sbf.append(line+"\n");
s+=line;
}
System.out.println(s);
// System.out.println(sbf.toString());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
bfReader.close();
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
FileWriter写文件:
public void get5() {
Writer writer=null;
BufferedWriter bfwriter=null;
try {
writer = new FileWriter(“D:/aqiao/a/1.txt”);
bfwriter=new BufferedWriter(writer);
String s=“加油”;
bfwriter.write(s);
// System.out.println(sbf.toString());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
bfwriter.flush();//清空缓存
bfwriter.close();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
通过流读写集合:
写入集合:
public void get7(){
List al=new ArrayList<>();
for (int a=0;a<10;a++){
al.add(“hello”+a);
}
BufferedWriter bw=null;
try {
bw=new BufferedWriter(new FileWriter("D:/aq.txt"));
for (String s:al){
bw.write(s);
bw.newLine();
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
bw.flush();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
读取集合:
public void get8(){
BufferedReader br=null;
try {
br=new BufferedReader(new FileReader("D:/aq.txt"));
List<String> al=new ArrayList<>();
String line;
while ((line=br.readLine())!=null){
al.add(line);
}
for (String s:al){
System.out.println(s);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}