黑马程序员技术交流社区
标题:
java IO问题
[打印本页]
作者:
张庚
时间:
2013-2-6 20:36
标题:
java IO问题
import java.io.*;
import java.util.*;
import java.lang.String;
public class WordRev {
public static void main(String[] args){
Stack<String> stack=new Stack<String>();
try{
FileReader fn1=new FileReader("File4.txt");//把一个文件按String型入栈,使里面的每一个单词倒序输入到新文件中
BufferedReader br=new BufferedReader(fn1);
String line=br.readLine();
String[] str=line.split("");
for(int i=0;i<str.length;i++){
stack.push(str[i]);
}
FileWriter fn2=new FileWriter("File5.txt");
BufferedWriter bw=new BufferedWriter(fn2);
while(!stack.isEmpty()){
bw.write(stack.pop()+"");
}
br.close();
bw.close();
}catch(IOException e){
e.printStackTrace();
}
}
} 为什么我的程序只能使一句话倒序啊?应该怎么改?
作者:
张庚
时间:
2013-2-6 20:57
高手解答下 啊
作者:
铿锵科技
时间:
2013-2-6 22:07
如果要实现多个单词反转功能,用线程循环来做,具体功能没时间写...
作者:
陈科宇
时间:
2013-2-6 22:24
其实原因很简单,String line=br.readLine(); 你的这个方法只读取了文件里的一行。记住readLine()。顾名思义,你懂的。
作者:
陈科宇
时间:
2013-2-6 22:43
public class WordRev {
public static void main(String[] args){
Stack<String> stack=new Stack<String>();
try{
FileReader f1=new FileReader("File4.txt");//把一个文件按String型入栈,使里面的每一个单词倒序输入到新文件中
StringBuffer bf=new StringBuffer();
char[] cbuf = new char[1024];
int hasRead = 0;
while ((hasRead = f1.read(cbuf)) > 0 )
{
bf=bf.append(new String(cbuf,0,hasRead));
}
/*
* 要把文件首先必须全部读取出来组成一个整体字符串,记住用使用StringBuffer哦。
* 你写的很好,受教了。
*/
String line=bf.toString();
System.out.println(line);
String[] str=line.split("");
for(int i=0;i<str.length;i++){
stack.push(str[i]);
}
FileWriter fn2=new FileWriter("File5.txt");
BufferedWriter bw=new BufferedWriter(fn2);
while(!stack.isEmpty()){
bw.write(stack.pop()+"");
}
bw.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2