读txt文件的问题
我读一个txt文件 代码如下:
[code=Java][/code]import java.io.*;
public class dataio{
public static void main(String []args)
{
FileInputStream fis=null;
FileOutputStream fos=null;
int c;
try
{
fis=new FileInputStream("c:\\t1.txt");
fos=new FileOutputStream("c:\\t2.txt");
while((c=fis.read())!=-1)
{
fos.write(c);
//if(c ="/n")///weiti
//{DataOut.writeBytes("\r\n");continue;
//}
}
}catch(
FileNotFoundException e1)
{
System.out.println(e1);
}catch(
IOException e2)
{
System.out.println(e2);
}
finally
{try{
if(fis!=null)
fis.close();
if(fos!=null)
fos.close();
}catch(IOException e3)
{
System.out.println(e3);
}
}
//int ch = InputStream.read();
//if(ch == '\n')
}
}
问题1:我想遇到空格就换行怎么办
问题2:我想遇到其他的特殊字符就换行怎么办
------解决方案--------------------我刚来 这个网站 所以回答的不好请原谅
问题 1
答:你这个读取操作是按字符 读取的吧,你可以用读到字符的转换成字符串,然后用 字符串的equals()方法,比较是不是空格
如过是按行读取的话,就把整行的内容提取出来赋给一个字符串变量,再用equals()方法比较啊
不知道这个方法行不行 你可以试 一试
问题2 应该和问题1差不多,你自己思考一下吧
------解决方案--------------------问题1:我想遇到空格就换行怎么办
问题2:我想遇到其他的特殊字符就换行怎么办
这2个问题可以一起解决,用正则表达式,简单一点就是用String 的split方法。
首先用readline()读取一行,用split方法分解成字符串数组,每个数组单元看成一行就行了。
具体方法就是 String[] arrays = s.split("[\\s]+");//遇到空格就换行
如果加上其它特殊字符(如*)就是String[] arrays = s.split("[\\s\\*]+");//遇到空格或者*号就换行