//自己正在学习Java,不正确的地方欢迎大家指正
File文件的创建删除判断:
File f1=new File("C:\\Users\\七夕\\Desktop\\文件测试\\demo.txt");
System.out.println(f1.createNewFile());
File f2=new File("C:\\Users\\七夕\\Desktop\\文件测试\\text");
System.out.println(f2.mkdirs());
System.out.println(f1.isDirectory()); //判断是否为目录
System.out.println(f1.isFile()); //判断是否为文件
System.out.println(f1.getAbsolutePath()); //得到文件的绝对路径
System.out.println(f1.getName()); //得到文件的名字
f1.delete();
字节流写入数据:
FileOutputStream demo=new FileOutputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo.txt");
//demo.write(97); //(1)
byte[] bys= "abcdefg".getBytes(); //(2) (getbyte可以将字符串转换为字节数组)
demo.write(bys);
demo.write(bys, 0,bys.length); //(3)
demo.close();
FileOutputStream demo=new FileOutputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo.txt",true); //true表示追加写入
for(int i=0;i<5;i++)
{
demo.write(("hello"+i).getBytes());
demo.write("\r\n".getBytes()); //换行
}
demo.close();
字节流读出数据:
FileInputStream demo=new FileInputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo.txt");
int by;
while((by=demo.read())!=-1) //(1)
{
System.out.print((char)by);
}
byte[] num=new byte[1024]; //(2)
int len;
while((len=demo.read(num))!=-1)
{
System.out.println(new String(num,0,len));
}
demo.close();
字节缓冲流输入输出:
BufferedOutputStream demo=new BufferedOutputStream(new FileOutputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
demo.write("hello\r\n".getBytes()); //写入数据
demo.close();
BufferedInputStream demo1=new BufferedInputStream(new FileInputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
int by;
while((by=demo1.read())!=-1) //读数据第一种
{
System.out.print((char)by);
}
byte[] bys=new byte[1024];
int len; //读数据第二种
while((len=demo1.read(bys))!=-1)
{
System.out.println(new String(bys,0,len));
}
demo1.close();
字符流写数据方法:
import java.io.OutputStreamWriter;
import java.io.FileOutputStream;
import java.io.IOException;
public class work1
{
public static void main(String[] args) throws IOException
{
OutputStreamWriter one=new OutputStreamWriter(new FileOutputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
one.write(97); //(1)
one.flush(); //刷新流
char[] num= {'a','b','c','d','e'};
one.write(num); //(2)
one.write(num, 0, num.length); //(3)
one.write("abcde"); //(4)
one.write("abcde", 0, 3); //(5)
one.close(); //关闭流,关闭前会执行刷新流一次
}
}
字符流读数据方法:
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.FileInputStream;
public class work1
{
public static void main(String[] args) throws IOException
{
InputStreamReader two=new InputStreamReader(new FileInputStream("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
int num;
while((num=two.read())!=-1)
{
System.out.print((char)num);
}
char[] num2=new char[1024];
int len;
while((len=two.read(num2))!=-1)
{
System.out.print(new String(num2,0,len));
}
two.close();
}
}
字符缓冲流写与读:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class work1
{
public static void main(String[] args) throws IOException
{
BufferedWriter one=new BufferedWriter(new FileWriter("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
one.write("hello\r\n");
one.close();
BufferedReader two=new BufferedReader(new FileReader("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
char[] num=new char[1024];
int len;
while((len=two.read(num))!=-1)
{
System.out.println(new String (num,0,len));
}
two.close();
}
}
字符流特有功能:
BufferedReader one=new BufferedReader(new FileReader("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
BufferedWriter two=new BufferedWriter(new FileWriter("C:\\Users\\七夕\\Desktop\\文件测试\\demo1.txt"));
one.readLine(); //读取一行的内容
two.newLine(); //换行