import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.FileOutputStream;
import java.io.File;public class TestFileIO { public TestFileIO() {
} public static void main(String[] args){
TestFileIO test = new TestFileIO();
test.writeFile("c:\\writeFile.txt",test.readFile("c:\\readFile.txt"));
}
public void writeFile(String path,String outStr)
{
try {
FileOutputStream out = new FileOutputStream(path,true);
out.write(outStr.getBytes());
out.close();
} catch (Exception ex) {
}
} public String readFile(String path)
{
String temp = "";
try
{
FileInputStream in = new FileInputStream(path);
int n = 0;
while((n=in.read())!=-1)
{
temp += (char)n;
}
temp = new String(temp.getBytes("ISO-8859-1"),"GBK");
System.out.println(temp);
}catch(Exception ex){}
return temp;
}
}假如readFile.txt里面是:
a.bc a100bnlkfsdadfasdawefes
a.bc 13ef4zseesfadfdawdawfes
a.bc 3fzseflkfsdadfadwawwasd
a.bc 35443nlkfsdadfawdaweasd
a.bc a100bnlkfsdadfadwdawwad我需要在writeFile.txt写入时 去掉a.bc和空格 只要后面的数据
每20个字符自动回车
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.FileOutputStream;
import java.io.File;public class TestFileIO { public TestFileIO() {
} public static void main(String[] args){
TestFileIO test = new TestFileIO();
test.writeFile("c:\\writeFile.txt",test.readFile("c:\\readFile.txt"));
}
public void writeFile(String path,String outStr)
{
try {
FileOutputStream out = new FileOutputStream(path,true);
out.write(outStr.getBytes());
out.close();
} catch (Exception ex) {
}
} public String readFile(String path)
{
String temp = "";
try
{
FileInputStream in = new FileInputStream(path);
int n = 0;
while((n=in.read())!=-1)
{
temp += (char)n;
}
temp = new String(temp.getBytes("ISO-8859-1"),"GBK");
System.out.println(temp);
}catch(Exception ex){}
return temp;
}
}假如readFile.txt里面是:
a.bc a100bnlkfsdadfasdawefes
a.bc 13ef4zseesfadfdawdawfes
a.bc 3fzseflkfsdadfadwawwasd
a.bc 35443nlkfsdadfawdaweasd
a.bc a100bnlkfsdadfadwdawwad我需要在writeFile.txt写入时 去掉a.bc和空格 只要后面的数据
每20个字符自动回车
把writeFile方法改改! public void writeFile(String path,String outStr)
{
try {
outStr = outStr.replaceAll("a.bc ", ""); // 去掉a.bc和空格
FileOutputStream out = new FileOutputStream(path,true);
out.write(outStr.getBytes());
out.close();
} catch (Exception ex) {
}
}
{
try {
outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格
outStr=outStr.replaceAll("\\n","");//去掉原来的换行符
outStr=outStr.replaceAll("(.{20})","$1\n");//每20个字符换行 FileOutputStream out = new FileOutputStream(path,true);
out.write(outStr.getBytes());
out.close();
} catch (Exception ex) {
}
}
import java.util.*;public class TestFileIO
{ private String inputfile = "./readFile.txt";
private String outputfile = "./writeFile.txt";
private BufferedReader in = null;
private PrintWriter out = null;
public TestFileIO()
{
try
{
in = new BufferedReader(new FileReader(new File(inputfile))); out = new PrintWriter(new FileWriter(new File(outputfile)));
}
catch(FileNotFoundException e)
{
System.out.println("test 1");
}
catch(IOException e1)
{
System.out.println("test 2");
}
} public static void main(String[] args)
{
TestFileIO test = new TestFileIO();
test.writeFile();
}
public void writeFile()
{
try
{
String str = in.readLine();
while (str != null)
{
System.out.println("old value:" + str);
StringTokenizer t = new StringTokenizer(str," ");
while(t.hasMoreTokens())
{
String s = t.nextToken();
if (s.equals("a.bc"));
else
{
out.print(s.trim());
}
}
out.println();
out.flush();
str = in.readLine();
}
}
catch (IOException e2)
{
System.out.println("test 3");
}
}
}在Solaris中写的,只需将inputfile,outputfile值改成需要的路径即可.
{
try {
outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格
//去掉这行
//outStr=outStr.replaceAll("\\n","");//去掉原来的换行符
outStr=outStr.replaceAll("(.{20})(.*\\n)","$1\n$2");//每20个字符换行 FileOutputStream out = new FileOutputStream(path,true);
out.write(outStr.getBytes());
out.close();
} catch (Exception ex) {
}
}
a100bnlkfsdadfasdawefes
13ef4zseesfadfdawdawfes
3fzseflkfsdadfadwawwasd
我想要的结果是这样的
a100bnlkfsdadfasdawe
fes13ef4zseesfadfdaw
dawfes3fzseflkfsdadf
adwawwasd
{
try {
outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格
outStr=outStr.replaceAll("\\n","");//去掉原来的换行符
outStr=outStr.replaceAll("(.{20})","$1\n");//每20个字符换行 FileOutputStream out = new FileOutputStream(path,true);
out.write(outStr.getBytes());
out.close();
} catch (Exception ex) {
}
}输出结果:
a100bnlkfsdadfasdawe
fes13ef4zseesfadfdaw
dawfes3fzseflkfsdadf
adwawwasd35443nlkfsd
adfawdaweasda100bnlk
fsdadfadwdawwad
public void writeFile(String path,String outStr)
{
try {
outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格
//去掉这行
//outStr=outStr.replaceAll("\\n","");//去掉原来的换行符
outStr=outStr.replaceAll("(.{20})(.*\\n)","$1\n$2");//每20个字符换行 FileOutputStream out = new FileOutputStream(path,true);
out.write(outStr.getBytes());
out.close();
} catch (Exception ex) {
}
}
输出结果:a100bnlkfsdadfasdawe
fes
13ef4zseesfadfdawdaw
fes
3fzseflkfsdadfadwaww
asd
35443nlkfsdadfawdawe
asd
a100bnlkfsdadfadwdaw
wad
outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格
改一下:
outStr=outStr.replaceAll("a\\.bc ","");//去掉a.bc加空格
a100bnlkfsdadfasdawe
fes13ef4zseesfadfdaw
dawfes3fzseflkfsdadf
adwawwasd35443nlkfsd
adfawdaweasda100bnlk
fsdadfadwdawwad你上面的代码没有实现啊 你看你是不是贴错了!!
先谢了
{
try {
outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格
outStr=outStr.replaceAll("\\n","");//去掉原来的换行符
outStr=outStr.replaceAll("(.{20})","$1\n");//每20个字符换行 FileOutputStream out = new FileOutputStream(path,true);
out.write(outStr.getBytes());
out.close();
} catch (Exception ex) {
}
}输出结果:
a100bnlkfsdadfasdawe
fes13ef4zseesfadfdaw
dawfes3fzseflkfsdadf
adwawwasd35443nlkfsd
adfawdaweasda100bnlk
fsdadfadwdawwad
str=str.replaceAll("\\n","");
str=str.replaceAll("(.{20})","$1\n");
System.out.println(str);这是我的测试代码
a.bc a100bnlkfsdadfasdawefes
a.bc 13ef4zseesfadfdawdawfes
a.bc 3fzseflkfsdadfadwawwasd
a.bc 35443nlkfsdadfawdaweasd
a.bc a100bnlkfsdadfadwdawwad
这个字符穿输出就是:
a.bc a100bnlkfsdadfasdawefes
a.bc 13ef4zseesfadfdawdawfes
a.bc 3fzseflkfsdadfadwawwasd
a.bc 35443nlkfsdadfawdaweasd
a.bc a100bnlkfsdadfadwdawwad
public void writeFile(String path,String outStr)
{
try {
outStr=outStr.replaceAll("a.bc ","");//去掉a.bc加空格
outStr=outStr.replaceAll("\\n*\\r*","");//去掉原来的换行符
outStr=outStr.replaceAll("(.{20})","$1\n");//每20个字符换行 FileOutputStream out = new FileOutputStream(path,true);
out.write(outStr.getBytes());
out.close();
} catch (Exception ex) {
}
}