java把控制台输入的文本追加到文本文件中
F盘有这样一个文件:abc.txt,里面包含了部分文字,如“这是文件中已包含了的文字”;现在想实现从控制台输入文本,并将其追加到这个文件内容后面而不是替换原来的内容,如何...
F盘有这样一个文件:abc.txt,里面包含了部分文字,如“这是文件中已包含了的文字”;现在想实现从控制台输入文本,并将其追加到这个文件内容后面而不是替换原来的内容,如何实现,求指教。
展开
3个回答
展开全部
/**
* 从控制台接收用户输入的数据,并存储在磁盘上
* @param filePath
*/
static void userPrint(String filePath){
BufferedReader br = null;
BufferedWriter bw = null;
try{
//通过System.in返回一个InputStream对象用于构造一个InputStreamReader对象
//再用来构造一个Buffered对象
br = new BufferedReader(new InputStreamReader(System.in));
bw = new BufferedWriter(new FileWriter(filePath,true)); //true表示是否追加
String str = br.readLine(); //接收用户输入
while(!str.equals("exit")){ //如果用户输入exit则退出循环
bw.write(str); //将用户输入的字符串写入文件
bw.newLine(); //换行
bw.flush(); //刷新缓冲区,将缓冲区的字符写入磁盘!
str = br.readLine(); //继续接收输入
}
}
catch(FileNotFoundException e){
System.out.println(e.getMessage());
}
catch(IOException e){
System.out.println(e.getMessage());
}
finally{
try {
bw.close(); //关闭对象前会调用bw.flush();
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
* 从控制台接收用户输入的数据,并存储在磁盘上
* @param filePath
*/
static void userPrint(String filePath){
BufferedReader br = null;
BufferedWriter bw = null;
try{
//通过System.in返回一个InputStream对象用于构造一个InputStreamReader对象
//再用来构造一个Buffered对象
br = new BufferedReader(new InputStreamReader(System.in));
bw = new BufferedWriter(new FileWriter(filePath,true)); //true表示是否追加
String str = br.readLine(); //接收用户输入
while(!str.equals("exit")){ //如果用户输入exit则退出循环
bw.write(str); //将用户输入的字符串写入文件
bw.newLine(); //换行
bw.flush(); //刷新缓冲区,将缓冲区的字符写入磁盘!
str = br.readLine(); //继续接收输入
}
}
catch(FileNotFoundException e){
System.out.println(e.getMessage());
}
catch(IOException e){
System.out.println(e.getMessage());
}
finally{
try {
bw.close(); //关闭对象前会调用bw.flush();
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
展开全部
package pracitce;
import java.io.IOException;
import java.io.RandomAccessFile;
public class test {
public static void main(String[] args) throws IOException{
RandomAccessFile raf = new RandomAccessFile("f:/abc.txt","rw");
raf.seek(raf.length());
//.....进行输入
//raf.write();
//raf.writeInt()
//raf.writeChar(' ');
//....
raf.close();
}
}
是不是这个意思?我是新童鞋,不知道有没误解
import java.io.IOException;
import java.io.RandomAccessFile;
public class test {
public static void main(String[] args) throws IOException{
RandomAccessFile raf = new RandomAccessFile("f:/abc.txt","rw");
raf.seek(raf.length());
//.....进行输入
//raf.write();
//raf.writeInt()
//raf.writeChar(' ');
//....
raf.close();
}
}
是不是这个意思?我是新童鞋,不知道有没误解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用io流,不要new新的File,控制台输入的文本读到里面不就ok啦?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询