以后就在CSDN对自己学到的东西进行记录和总结,如果有什么不对的还请大家指正。
java文件的读写
一、写操作
1.通过StringBuffer来进行写操作
public void wirteFile (){
File file = new File("D://source.txt");
try{
StringBuffer sb = new StringBuffer();
FileOutputStream out = new FileOutputStream (file);
//主要学习一下这个FileOutputStream的用法,另外它可以创建文件,不需要使用createNewFile()方法了
for (int i =0; i < 10; i++ )
{
sb.append("这是第"+ i +"行");
out.write(sb.toString().getBytes());
}
out.close();
} catch(Exception e){
e.printStackTrace();
}
}
public void printFile (){
File file = new File("D://source.txt");
try{
if (file.exists())
{
System.out.println("print File is already exist");
}
else
{
file.createNewFile();
}
FileOutputStream out = new FileOutputStream (file);
PrintStream p = new PrintStream (out);//通过这行代码,我感觉PrintStream较FileOutputStream高级一点,操作起来确实方便一点。
for (int i =0; i < 10; i++ )
{
p.println("这是第"+ i +"行print");
}
out.close();
} catch(Exception e){
e.printStackTrace();
}
}
3.使用BufferedWriter来写文件
public void writeFile(){
try
{
File file = new File("D://test.txt");
FileWriter writer = new FileWriter(file);//FileWriter这个还不是很了解
BufferedWriter bw = new BufferedWriter (writer);
String str = "abcdefg";
bw.write(str);
bw.flush(); //flush必须有否则无法写入
}
catch (Exception e)
{
System.out.println("write failed");
}
}
二、读取文件内容
1.使用BufferedReader来读取文件内容,可以和BufferedWriter结合起来看
public void readFile(){
try
{
File file = new File("D://source.txt");
FileReader reader = new FileReader(file);
BufferedReader br = new BufferedReader (reader);
String temp = br.readLine();
StringBuffer sb = new StringBuffer();
while (temp != null)
{
sb.append(temp + " ");
temp = br.readLine();//这个方法可以自动读完一行跳到下一行的开头
}
System.out.println(sb.toString());
}
catch (Exception e)
{
System.out.println("falied!");
}
}
2.通过FileInputStream来读取文件
public void readFile(){
try{
File file = new File ("D://source.txt");
FileInputStream in = new FileInputStream(file);
byte[] buffer = new byte[1024];
int c;
StringBuffer sb=new StringBuffer();
while ((c = in.read(buffer)) != -1)//c的结果是每次从文件中读取了多少个字符,如果没有字符了c = -1
{
sb.append(new String(buffer));//将byte转换为字符串
buffer =new byte[1024];
}
System.out.print(sb.toString());
in.close();
} catch (Exception e){
e.printStackTrace();
}
}
这里只是学习了这几种方法,别的方法还待继续学习!