你先把 a 文件读出来,
把读出来的文件 写到其他文件的末尾可以用下面的方法: PrintWriter out =
new PrintWriter(new FileWriter("c:\\text.txt",true));<<----------你要写的文件
out.println(" ");<<----------------这里写你读出来的内容 out.close();
把读出来的文件 写到其他文件的末尾可以用下面的方法: PrintWriter out =
new PrintWriter(new FileWriter("c:\\text.txt",true));<<----------你要写的文件
out.println(" ");<<----------------这里写你读出来的内容 out.close();
方法2:随机访问流,RandomAccessFile
package publices;
import java.io.*;
public class FileManage
//文件管理类,进入目录及文件的读写.
{
String URL;
public void FileManage(){} public void setURL(String url)
{
this.URL=url;
}
public String FileOutput()
//以字符串型式输出URL所指向的文件的内容,突略换行.
{
String data="";
try
{
FileReader fr = new FileReader(this.URL);
int c = fr.read();
while (c != -1) {
//System.out.print((char)c);
data=data+(char)c;
c = fr.read();
if (c == 13) {
fr.skip(1);
}
}
fr.close();
}
catch(IOException ex)
{
ex.printStackTrace();
}
return data;
}public int IntOutput()
{
int counter=0;
try
{
FileReader fr=new FileReader(this.URL);
BufferedReader br=new BufferedReader(fr);
String Line=br.readLine();
counter = Integer.parseInt(Line);
br.close();
fr.close();
}
catch(IOException ex)
{
ex.printStackTrace();
}
return counter;
} public void FileInput(String url,String add)
//向URL指向的文件追加add内容, 测试为乱码。
{
try
{
//System.out.println(add);
String gb=new String(add.getBytes("GBK"));
System.out.println(gb);
RandomAccessFile rf=new RandomAccessFile(url,"rw");
rf.seek(rf.length());
rf.writeBytes(gb);
rf.close();
}
catch(Exception ex)
{
System.out.println("写入数据发生异常!!");
ex.printStackTrace();
}
} public void AddInput(String data,String data2)
//向文件中追加data2的内容,data为读取文件的内容,经过测试可用。
{
try
{
FileWriter fw=new FileWriter(this.URL);
BufferedWriter bw=new BufferedWriter(fw);
bw.write(data+","+data2);
bw.flush();//将数据更新至文件
fw.close();//关闭文件流
}
catch(IOException ex)
{
ex.printStackTrace();
}
} public int ParseDate(String data,String data2)
//解析字符串,返回字符串data2在字符串data中的位置
{
int i=0;
int j=0;
int k=1;
for(j=data.indexOf(",")+1;j<=data.lastIndexOf(",");j++)
{
k=k+1;
if(data.substring(j,data.indexOf(",",j+1)).equals(data2))
{
i=k;
break;
}
j=data.indexOf(",",j+1);
}
if(data.substring(data.lastIndexOf(",")+1).equals(data2))
{
i = k + 1;
}
if(data.substring(0,data.indexOf(",")).equals(data2))
{
i = 1;
} return i;
}public void CreateFile()
//判断文件夹是否存在,如果不存在则建立
{
try{
File f=new File(this.URL);
if(!f.exists())
{
f.mkdirs();
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}public void CreateDocu(String DocuName)
//测试文档DocuName是否存在,如果不存在则新建,测试可用。文件名要加后辍,如.txt
{
try
{
File f = new File(this.URL, DocuName);
if (!f.exists()) {
f.createNewFile();
}
}
catch(IOException ex)
{
ex.printStackTrace();
}
}public void WriteData(String DocuName,String DocuData)
//向文档DocuName中以行的形式写入数据,经过测试可用。
{
try
{
FileWriter fw = new FileWriter(this.URL + "\\" + DocuName);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(DocuData);
bw.flush();
fw.close();
}
catch(IOException ex)
{
ex.printStackTrace();
}
}public void InitData()
{
try{
File f=new File(this.URL);
if(!f.exists())
{
f.mkdirs();
this.WriteData("count.txt","0001");
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
} public String SearchSortCaption(String data,int i)
{
int m=data.indexOf(',');
String data1="";
if(i==1)
{
data1=data.substring(0,data.indexOf(','));
}
else
{
for(int j=2;j<i;j++)
{
m=data.indexOf(',',m+1);
}
if(m<data.lastIndexOf(','))
{
data1 = data.substring(m + 1, data.indexOf(',',m + 1));
}
else
{
data1=data.substring(data.lastIndexOf(',')+1);
}
}
return data1;
}
}