//print the file content from array:Result[] System.out.println("\nThe line count is : "+lines_count); for(i=0;i<lines_count;i++) System.out.println(i+": "+lines[i]);
//write to another file. System.out.println("\nwrite lines to file..."); fs.string2file(lines,"url_bak.txt",lines_count);
} }class file_string { public int file2string(String fileName,String Result[]) { int pointer=0; boolean done=false; try { File file_in = new File(fileName); BufferedReader in=new BufferedReader(new FileReader(file_in));
//read the file content and put it into array:Result[] while(!done) { Result[pointer]=in.readLine(); if(Result[pointer]==null) done=true; else pointer++; } return pointer; } catch(IOException e) { System.out.println("Error: "+e); return 0; } }
如果你是对文本流操作的话,可以这样定义输入流:
BufferedReader in=new BufferedReader(new FileReader(file_name)); //file_name是String串
然后用s_line=in.readLine(); 来读取一行数据。可以这样定义输出流:
PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter(file_name)));
然后用out.println(s_line); 向文件file_name写入一行数据。拿上面的定义输入流来简单解释一下,FileReader类提供了读取磁盘文件的功能,它可以提供数据,但不能直接使用,就需要BufferedWriter来转换成需要的形式。我刚用IO流的时候,编了个小例子,给你参考一下:
import java.io.*;public class file_test
{
public static void main(String args[])
{
String lines[]=new String[1000];
int lines_count,i;
file_string fs=new file_string();
//read file
lines_count=fs.file2string("url_list.txt",lines);
//print the file content from array:Result[]
System.out.println("\nThe line count is : "+lines_count);
for(i=0;i<lines_count;i++)
System.out.println(i+": "+lines[i]);
//write to another file.
System.out.println("\nwrite lines to file...");
fs.string2file(lines,"url_bak.txt",lines_count);
}
}class file_string
{
public int file2string(String fileName,String Result[])
{
int pointer=0;
boolean done=false;
try
{
File file_in = new File(fileName);
BufferedReader in=new BufferedReader(new FileReader(file_in));
//read the file content and put it into array:Result[]
while(!done)
{
Result[pointer]=in.readLine();
if(Result[pointer]==null)
done=true;
else
pointer++;
}
return pointer;
}
catch(IOException e)
{
System.out.println("Error: "+e);
return 0;
}
}
public int string2file(String Source[],String fileName,int lineCount)
{
int i;
try
{
File file_out=new File(fileName);
PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter(file_out)));
for(i=0;i<lineCount;i++)
{
out.println(Source[i]);
System.out.println(Source[i]);
}
out.flush();
return i;
}
catch(IOException e)
{
System.out.println("Error: "+e);
return 0;
}
}
}